2012-02-25 11 views
2

私はwp_nav_menu()を使用しています。メニューの一部として検索ボックスを追加したいと思います。ワードプレスでメニュー項目を追加する

私は悩みにそれを考え出すを持っていますし、いくつかの支援を期待していた:

マイコード:

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

は、今私は最後またはメニューに追加<李>要素を追加したい<

 <?php get_search_form();?> 
:UL >と私は<李>にしたいすべてが出力されます210

これはできますか?

の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

はそれを試してみましたが、何も私の場所に持っている必要があります他に何変わっていませんか? –

+0

それだけで十分です。 if文を削除してすべてのメニューに追加するかどうかを確認してください – Lee

+0

問題はメニューが登録されていないことです...すべてのページを表示していたと思います - 最終的に "並べ替え"してメニューを登録し、それを行うには、それだけでなく、問題を提示している... F * ing ing painful !!!とにかく、私は戦い続けるでしょう...ありがとう –

関連する問題