id ) && ( $screen->id === 'nav-menus' ) ) { $isNav = true; } return $isNav; } /** * Add custom nav meta box. * * Adapted from http://www.johnmorrisonline.com/how-to-add-a-fully-functional-custom-meta-box-to-wordpress-navigation-menus/. * * @return void */ public function addNavMenuMetaBoxes() { add_meta_box( 'dgwt_wcas_endpoints_nav_link', __( 'FiboSearch bar', 'ajax-search-for-woocommerce' ), array( $this, 'navMenuLinks' ), 'nav-menus', 'side', 'low' ); } /** * Add custom fields to own menu item */ public function addNavMenuItemCustomFields( $item_id, $item ) { if ( $item->post_title !== self::SEARCH_PLACEHOLDER ) { return; } $layout = get_post_meta( $item_id, '_menu_item_dgwt_wcas_layout', true ); if ( empty( $layout ) ) { $layout = 'default'; } $searchIconColor = get_post_meta( $item_id, '_menu_item_dgwt_wcas_search_icon_color', true ); ?>


ID, '_menu_item_dgwt_wcas_layout', true ); if ( in_array( $layout, array( 'classic', 'icon', 'icon-flexible', 'icon-flexible-inv' ) ) ) { $args .= 'layout="' . $layout . '" '; } $searchIconColor = get_post_meta( $item->ID, '_menu_item_dgwt_wcas_search_icon_color', true ); if ( in_array( $layout, array( 'icon', 'icon-flexible', 'icon-flexible-inv' ) ) && ! empty( $searchIconColor ) ) { $args .= 'class="dgwt-wcas-menu-item-' . $item->ID . ' " '; $style = sprintf( '', $item->ID, esc_attr( $searchIconColor ) ); } $itemOutput = do_shortcode( sprintf( '[fibosearch %s]', $args ) ) . $style; } return $itemOutput; } /** * Output menu links. * * @return void */ public function navMenuLinks() { ?>

'; $html .= ''; $html .= '' . __( 'FiboSearch bar will be displayed here.', 'ajax-search-for-woocommerce' ) . ''; $html .= ''; return $html; } public function getLayoutOptions() { return array( 'default' => __( 'Default', 'ajax-search-for-woocommerce' ), 'classic' => __( 'Search bar', 'ajax-search-for-woocommerce' ), 'icon' => __( 'Search icon', 'ajax-search-for-woocommerce' ), 'icon-flexible' => __( 'Icon on mobile, search bar on desktop', 'ajax-search-for-woocommerce' ), 'icon-flexible-inv' => __( 'Icon on desktop, search bar on mobile', 'ajax-search-for-woocommerce' ), ); } public function navMenuStyle() { if ( ! $this->isNavMenuScreen() ) { return; } wp_enqueue_style( 'wp-color-picker' ); wp_enqueue_script( 'wp-color-picker' ); ?> isNavMenuScreen() ) { return; } ?>