【发布时间】:2018-10-15 12:02:35
【问题描述】:
我的 WordPress 导航功能出现问题。我有以下从管理员拉菜单项的功能:
function cr_get_menu_items($menu_location)
{
$locations = get_nav_menu_locations();
$menu = get_term($locations[$menu_location], 'nav_menu');
return wp_get_nav_menu_items($menu->term_id);
}
在我的导航模板中,我使用此功能仅拉入这样的父项:
<?php $nav = cr_get_menu_items('navigation_menu') ?>
<?php foreach ($nav as $link):
if ($link->menu_item_parent == 0) : ?>
<a class="main-nav" href="<?= $link->url ?>"><?= $link->title ?></a>
<?php endif; endforeach; ?>
我尝试制作一个子导航,显示这样的子项:
<?php $nav = cr_get_menu_items('navigation_menu') ?>
<?php foreach ($nav as $link):
if ($link->menu_item_parent !== 0) : ?>
<a href="<?= $link->url ?>"><?= $link->title ?></a>
<?php endif; endforeach; ?>
这会引入所有子菜单项。我正在构建的导航应该工作的方式是:您单击父菜单项,子导航显示该父项的所有子菜单项。隐藏/显示功能都是 JS。
有没有办法改变我必须为特定父菜单项仅拉入子项的功能?任何帮助/指导表示赞赏。
【问题讨论】:
-
你必须检查
db_id和menu_item_parent
标签: php wordpress function menu navigation