我的网站上有2个存档页面。第一个“新闻”是针对标准wordpress帖子的。第二个“项目”适用于我的自定义帖子类型。当我从“新闻”档案库转到特定帖子时,我的菜单位置“新闻”应该处于活动状态。但事实并非如此。因此,我在导航导航器中进行了少量重构(我正在使用Seyong Cho的Bulmascores_Nav_Walker)。所以我做了这样的事情
if (in_array('current-menu-item', $classes) || in_array('current-post-parent', $classes) ) {
$class_names .= 'is-active';
}
它可以正常工作。当我想对自定义帖子类型执行相同操作时,问题就开始了。我为类制作了print_r,但看不到“ current-post-parent”。下面是该课程的完整代码
public function getLinkButton($item)
{
$url = $item->url ?? '';
$classes = empty($item->classes) ? array() : (array) $item->classes;
print_r($classes);
$class_names = '';
if (in_array('current-menu-item', $classes) || in_array('current-post-parent', $classes) ) {
$class_names .= 'is-active';
}
$button = sprintf("<a href='%s' class='navbar-item %s'>%s</a>", $url, $class_names, $item->title);
return $button;
}
有效的自定义帖子类型项目的数组
Array
(
[0] =>
[1] => menu-item
[2] => menu-item-type-post_type_archive
[3] => menu-item-object-projekty
)
它应该包含current-post-parent
,但我不知道该如何实现。所以,有人可以帮助我吗?