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
を取得します。私が逃したアイデアは何ですか?
あなたは 'var_dump($ locations)'で何を得るのですか?あなたがそれを2行上に置いて(そしてあなたが '='を見逃して) – moped
私はそれを他のところからコピーしましたが、私はそれが悪いコードだと思います。私はそれを渡す必要があるメニュー名は '私は私が管理領域に設定する' main_navの代わりに 'プライマリ'です。それは奇妙です! – laukok
2行目を削除すると、そのコードは実際には問題ありません。それは何かを$ locationに入れるようにしようとすると、それが失敗した場合にはfalse-skipsの条件を返し、true/valuesを返したら、 '$ locations [$ menu_name]'設定されています.. – moped