2012-02-25 162 views
2

我正在使用wp_nav_menu(),我想添加搜索框作爲菜單的一部分。在wordpress中添加菜單項

我無法計算出來,並希望一些幫助:

我的代碼:

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

現在我想的更多的<李>元素添加到年底或菜單<UL>和所有我想在<李>是輸出:

 <?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>'; 
} 

回答

3

是的,你需要使用的過濾器。將以下代碼添加到您的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>'; 
    } 
} 
+0

試過,但一切都沒有改變些什麼,我需要有到位? – 2012-02-25 22:51:18

+0

這就是你需要的。嘗試刪除if語句,看看它是否將它添加到所有菜單 – Lee 2012-02-26 05:03:49

+0

問題是菜單沒有註冊...我認爲它只是顯示所有頁面 - 我終於「排序」菜單註冊了,我找到了另一種方式要做到這一點,但這是呈現問題以及... F * ing痛苦!無論如何,我會繼續作戰...謝謝 – 2012-02-26 06:37:04

相關問題