/** * Add hooks for front-end functionalities * * @since 0.9.0 */ public static function init() { $active_types = Menu_Icons_Settings::get('global', 'icon_types'); if (empty($active_types)) { return; } foreach (Menu_Icons::get('types') as $type) { if (in_array($type->id, $active_types)) { self::$icon_types[$type->id] = $type; } } /** * Allow themes/plugins to override the hidden label class * * @since 0.8.0 * @param string $hidden_label_class Hidden label class. * @return string */ self::$hidden_label_class = apply_filters('menu_icons_hidden_label_class', self::$hidden_label_class); /** * Allow themes/plugins to override default inline style * * @since 0.9.0 * @param array $default_style Default inline style. * @return array */ self::$default_style = apply_filters('menu_icons_default_style', self::$default_style); add_action('wp_enqueue_scripts', array(__CLASS__, '_enqueue_styles'), 7); add_filter('wp_nav_menu_args', array(__CLASS__, '_add_menu_item_title_filter')); add_filter('wp_nav_menu', array(__CLASS__, '_remove_menu_item_title_filter')); }
/** * Initialize * * 1. Get registered types from Icon Picker * 2. Load settings * 3. Load front-end functionalities * * @since 0.1.0 * @since 0.9.0 Hook into `icon_picker_init`. * @wp_hook action icon_picker_init * @link http://codex.wordpress.org/Plugin_API/Action_Reference */ public static function _init() { /** * Allow themes/plugins to add/remove icon types * * @since 0.1.0 * @param array $types Icon types */ self::$data['types'] = apply_filters('menu_icons_types', Icon_Picker_Types_Registry::instance()->types); // Nothing to do if there are no icon types registered. if (empty(self::$data['types'])) { if (WP_DEBUG) { trigger_error(esc_html__('Menu Icons: No registered icon types found.', 'menu-icons')); } return; } // Load settings. require_once self::$data['dir'] . 'includes/settings.php'; Menu_Icons_Settings::init(); // Load front-end functionalities. if (!is_admin()) { require_once self::$data['dir'] . '/includes/front.php'; Menu_Icons_Front_End::init(); } do_action('menu_icons_loaded'); }