个性化阅读
专注于IT技术分析

如何遍历WordPress中的菜单项?

我阅读了有关如何迭代菜单项的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);
?>
赞(0) 打赏
未经允许不得转载:srcmini » 如何遍历WordPress中的菜单项?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏