2016-03-23 17 views
0

私のWordpressアプリケーションでは、wp_nav_menuは表示されません。他のメニューは意図したとおりに動作します。wp_nav_menuが特定のテーマの場所で表示されない

これは目に見えないです:

<?php wp_nav_menu(array('theme_location' => 'mobile_menu', 'container_class'=>'my-mobile-wrapper')); ?> 

これが表示されている、私はどこかからの提案を読ん

<?php wp_nav_menu(array('theme_location' => 'header_menu', 'container_class'=>'header-menu')); ?> 

(両方はheader.phpの中にある)が、のfunctions.phpに、この追加することはしませんでした作業。今では

if (!function_exists('my_register_menus')) { 
    function my_register_menus() { 

     register_nav_menus(
      array(
       'header_menu' => __('Header Menu', "my"), 
       'mobile_menu' => __('Mobile Menu', "my") 
      ) 
     ); 

    } 
} 

add_action('after_setup_theme', 'my_register_menus'); 

感謝を次のように私は登録

add_action('pre_get_posts', 'my_pre_get_posts'); 
    function my_pre_get_posts($query) { 
     if ($query->get('post_type') === 'nav_menu_item') { 
      $query->set('tax_query',''); 
     } 
    } 

答えて

0

OK回答が見つかりました。

私はメニューの内容を拡張するために関数を使用し、その時点で構造的な誤りを犯します。私はここに似たような問題に直面するかもしれない人のために書く:

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

function my_extend_menu_content($items, $args){ 
    switch .... for menus other than mobile. 

    // After the switch block: 
    return false; // which is wrong. 
    return $items; // should be this way. 
} 
関連する問題