добавление пунктов меню в WordPress - PullRequest
2 голосов
/ 25 февраля 2012

Я использую wp_nav_menu () и хочу добавить окно поиска как часть меню.

У меня проблемы с выяснением и я надеялся на некоторую помощь:

Мой код:

        <?php 
        $args = array('theme_location' => 'primary', 'container' => false);
        wp_nav_menu( $args ); 
        ?>

Теперь я хочу добавить дополнительный элемент

в конец или меню
  • , это вывод:
            <?php get_search_form();?>
    

    Можно ли это сделать?

    functions.php:

    add_action('init', 'register_top_menu');
    
    function register_top_menu() {
        register_nav_menu('primary', __('Top Menu', 'leeaenergy'));
    }
    
    
    add_filter('wp_nav_menu_items','add_search', 10, 2);
    
    function add_search($items, $args) {
    
        if( $args->theme_location == 'primary' )
        return $items . '<li>'.get_search_form().'</li>';
    }
    

1 Ответ

3 голосов
/ 25 февраля 2012

Да, вам нужно использовать фильтр. Добавьте следующий код в ваш файл functions.php. Измените theme_location на то, что установлено для вашей текущей темы:

add_filter( 'wp_nav_menu_items', 'add_search', 10, 2 );

function add_search( $items, $args ) {
    if ( $args->theme_location == 'primary' ) {
        return $items . '<li>' . get_search_form() . '</li>';
    }
}
...