2016-07-05 7 views
1

は、私が「main_nav」としての私のメニュー名を保存している、と私はそれにすべての項目を取得しようとしました:

$menu_name = 'main_nav'; 
$locations = get_nav_menu_locations(); 

var_dump($locations[$menu_name]); // NULL 

if (($locations = get_nav_menu_locations()) && isset($locations[$menu_name])) { 
    $menu = wp_get_nav_menu_object($locations[$menu_name]); 
    $menu_items = wp_get_nav_menu_items($menu->term_id); 

    $menu_list = '<nav>' ."\n"; 
    $menu_list .= "\t\t\t\t". '<ul>' ."\n"; 
    foreach ((array) $menu_items as $key => $menu_item) { 
     $title = $menu_item->title; 
     $url = $menu_item->url; 
     $menu_list .= "\t\t\t\t\t". '<li><a href="'. $url .'">'. $title .'</a></li>' ."\n"; 
    } 
} 

しかし、私は$locations[$menu_name]ためnullを取得します。私が逃したアイデアは何ですか?

+1

あなたは 'var_dump($ locations)'で何を得るのですか?あなたがそれを2行上に置いて(そしてあなたが '='を見逃して) – moped

+0

私はそれを他のところからコピーしましたが、私はそれが悪いコードだと思います。私はそれを渡す必要があるメニュー名は '私は私が管理領域に設定する' main_navの代わりに 'プライマリ'です。それは奇妙です! – laukok

+1

2行目を削除すると、そのコードは実際には問題ありません。それは何かを$ locationに入れるようにしようとすると、それが失敗した場合にはfalse-skipsの条件を返し、true/valuesを返したら、 '$ locations [$ menu_name]'設定されています.. – moped

答えて

1

$menu_nameregister_nav_menusで使用されたキーをfunctions.phpファイルに適用しようとします。

関連する問題