Почему я получаю нулевое значение для $location [$menu_name]?
Я сохранил название своего меню как '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";
}
}
Но я получаю null
за $locations[$menu_name]
, Есть идеи, что я пропустил?
1 ответ
Как $menu_name
попробуйте применить ключи, которые были использованы в register_nav_menus
функция в вашем файле functions.php.