在wordpress中将"Active"类添加到当前帖子祖先菜单项父级



我在wordpress中有这样的菜单

  • 父项 ( A 页 (
    • 子项 ( A 类别 (

当我在项(类别(页面中时,">当前菜单父"类被添加到"父项">中,这非常有用。但是当我查看项目(类别(中的一篇文章时,没有将特殊类添加到"父项目">中。只有"当前后祖先">类被添加到子项(类别(中。当我查看项目(类别(的帖子时,如何将类添加到"父项目">

注意:我想要一个PHP解决方案,不接受Javascript/Jquery解决方案。

更新:

这就是我目前所拥有的。但它正在向所有具有子项的父项添加类。

add_filter( 'wp_nav_menu_objects', 'add_menu_parent_class' );
function add_menu_parent_class( $items ) {
$parents = array();
foreach ( $items as $item ) {
if ( $item->menu_item_parent && $item->current_item_ancestor) {
$parents[] = $item->menu_item_parent;
}
}
foreach ( $items as $item ) {
if ( in_array( $item->ID, $parents ) ) {
$item->classes[] = 'active'; 
}
}
return $items;
}

我已经找到了我自己问题的答案,这就是我正在寻找的..

add_filter( 'wp_nav_menu_objects', 'add_menu_parent_class' );
function add_menu_parent_class( $items ) {
$parents = array();
foreach ( $items as $item ) {
if ( in_array('current-post-ancestor', $item->classes)  ) {
$parents[] = $item->menu_item_parent;
}
}
foreach ( $items as $item ) {
if ( in_array( $item->ID, $parents ) ) {
$item->classes[] = 'current-menu-ancestor'; 
}
}
return $items;    
}

它将向当前帖子祖先菜单项父级添加一个类。

相关内容

  • 没有找到相关文章

最新更新