我阅读了有关如何迭代菜单项的wordpress代码文档, 然后在index.php中编写了以下代码:
<?php
$menu_name = 'top_menu';
$array_menu = wp_get_nav_menu_items($menu_name);
foreach ((array)$array_menu as $mol) ;
{
echo $mol;
}
?>
但这是行不通的。并且什么也没有返回。强制转换为数组并没有帮助。
我需要一个一个地回显项目菜单标题。没有任何HTML列表标签。
#1
$ navItem是一个对象, 因此你不能仅回显它, 而是尝试回显其属性, 如下所示:
foreach ($array_menu as $navItem ) {
echo '<li><a href="'.$navItem->url.'" title="'.$navItem->title.'">'.$navItem->title.'</a></li>';
}
#2
这可能会有所帮助:
<?php
function get_menu_items_by_registered_slug($menu_slug) {
$menu_items = array();
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_slug ] ) ) {
$menu = get_term( $locations[ $menu_slug ] );
$menu_items = wp_get_nav_menu_items($menu->term_id);
}
return $menu_items;
}
$show_menus = [];
$menus = get_menu_items_by_registered_slug('primary');
foreach( $menus as $menu ) {
$show_menus[] = $menu->title;
}
echo '<pre>';
print_r($show_menus);
?>
评论前必须登录!
注册