PATH:
home
/
fengshp
/
www
/
wp-content
/
themes
/
themify-ultra
/
themify
<?php /** * Menu Icons feature * * Allows adding custom icons to WordPress menu items. * * @package Themify * @since 1.6.8 */ class Themify_Menu_Icons { /** * Setup menu icon functionality * * @since 1.6.8 */ public static function init() { if ( is_admin() ) { add_action( 'wp_nav_menu_item_custom_fields', array( __CLASS__, 'wp_nav_menu_item_custom_fields' ), 12, 4 ); add_action( 'wp_update_nav_menu_item', array( __CLASS__, 'wp_update_nav_menu_item' ), 10, 3 ); } else { add_filter( 'nav_menu_item_title', [ __CLASS__, 'nav_menu_item_title' ], 10, 4 ); } } public static function nav_menu_item_title( $title, $menu_item, $args, $depth ) { if ( $icon = self::get_menu_icon( $menu_item->ID ) ) { if ( isset( $args->tf_icon_cb ) ) { /* custom callback for menu icons, provided by wp_nav_menu() */ $callback = $args->tf_icon_cb; $title = $callback( $title, $icon, $menu_item, $args, $depth ); } else { $title = '<em> '. themify_get_icon( $icon ) . '</em> ' . $title; } } return $title; } /** * Save the icon meta for a menu item. Also removes the meta entirely if the field is cleared. * * @since 1.6.8 */ static function wp_update_nav_menu_item( $menu_id, $menu_item_db_id, $args ) { if ( isset( $_POST['menu-item-icon'][ $menu_item_db_id ] ) ) { $meta_key = '_menu_item_icon'; $meta_value = self::get_menu_icon( $menu_item_db_id ); $menu_item_icon = $_POST['menu-item-icon'][ $menu_item_db_id ]; $new_meta_value = stripcslashes( $menu_item_icon ); if ( $new_meta_value && '' == $meta_value ) add_post_meta( $menu_item_db_id, $meta_key, $new_meta_value, true ); elseif ( $new_meta_value && $new_meta_value != $meta_value ) update_post_meta( $menu_item_db_id, $meta_key, $new_meta_value ); elseif ( '' == $new_meta_value && $meta_value ) delete_post_meta( $menu_item_db_id, $meta_key, $meta_value ); } } /** * Display the icon picker for menu items in the backend * * @since 1.6.8 */ static function wp_nav_menu_item_custom_fields( $item_id, $item, $depth, $args ) { $saved_meta = self::get_menu_icon( $item_id ); $item_id = esc_attr( $item_id ); ?> <p class="field-icon description description-thin"> <label for="edit-menu-item-icon-<?php echo $item_id; ?>"> <?php _e( 'Icon', 'themify' ) ?><br/> <span class="icon-preview font-icon-preview"><i><?php echo themify_get_icon( $saved_meta ); ?></i></span> <input type="text" name="menu-item-icon[<?php echo $item_id; ?>]" id="edit-menu-item-icon-<?php echo $item_id?>" size="8" class="edit-menu-item-icon themify_field_icon small-text" value="<?php esc_attr_e( $saved_meta ); ?>"> <a class="button button-secondary hide-if-no-js themify_fa_toggle" href="#" data-target="#edit-menu-item-icon-<?php echo $item_id ?>"><?php _e( 'Insert Icon', 'themify' ); ?></a> </label> </p> <?php } /** * Returns the icon name chosen for a given menu item * * @return string|null * @since 1.6.8 */ static function get_menu_icon( $item_id ) { return get_post_meta( $item_id, '_menu_item_icon', true ); } } Themify_Menu_Icons::init();
[+]
..
[+]
js
[-] class-tf-term-image.php
[edit]
[-] themify-import-functions.php
[edit]
[-] class-themify-enqueue.php
[edit]
[-] themify-hooks.php
[edit]
[-] class-themify-storage.php
[edit]
[+]
themify-icon-picker
[-] class-themify-child-theme-generator.php
[edit]
[-] class-themify-menu-toggle-dropdown.php
[edit]
[+]
google-fonts
[-] themify-widgets.php
[edit]
[-] themify-microdata.php
[edit]
[+]
themify-builder
[-] themify-theme-filters.php
[edit]
[+]
megamenu
[-] class-cpt.php
[edit]
[-] class-themify-custom-404.php
[edit]
[-] themify-status.php
[edit]
[-] class-themify-maintenance-mode.php
[edit]
[-] themify-template-tags.php
[edit]
[-] themify-config.php
[edit]
[-] class-themify-access-role.php
[edit]
[+]
themify-metabox
[+]
customizer
[+]
cache
[-] themify-wpajax.php
[edit]
[+]
img
[-] img.php
[edit]
[-] class-themify-custom-fonts.php
[edit]
[+]
plugin-compat
[-] class-themify-menu-icons.php
[edit]
[-] class-themify-filesystem.php
[edit]
[-] class-themify-mobile-detect.php
[edit]
[-] themify-fw-filters.php
[edit]
[-] class-hook-contents.php
[edit]
[-] themify-utils.php
[edit]
[-] class-tgm-plugin-activation.php
[edit]
[-] themify-admin.php
[edit]
[-] class-themify-get-image-size.php
[edit]
[-] themify-startup-check.php
[edit]
[+]
includes
[+]
.data
[-] themify-database.php
[edit]
[+]
css
[+]
themify-icons