如果菜单包含具有相同 ID 的页面和类别,如何将类添加到当前和父菜单项?

问题描述 投票:0回答:0

我创建了一个包含页面和分类存档(类别)的 wordpress 菜单。结构如下:

Sample Page (Page with ID: 24)
    -> Sample Category (Category/Taxonomy with ID: 25)
    -> Another Category (Category/Taxonomy with ID: 26)
Another Page (Page with ID: 25)

现在我正在尝试将“current-item”和“current-ancestor”类添加到它们各自的菜单项中。

我遇到的问题是,如果我选择示例类别(ID:25),WP 会向其中添加类,但也会向另一个页面(ID:25)添加类。

我已经构建了一个大型菜单,它使用 get_queried_object 检查当前菜单项,所以这就是我的问题所在。由于查询对象的 id 为 25,我如何区分这两个不同的菜单项?

$active = ( $menu_item->object_id == get_queried_object_id() ) ? 'current-menu-item' : '';
$postancestors = get_post_ancestors( get_queried_object_id() );
$activeparent = ( in_array( $menu_item->object_id, $postancestors ) ) ? 'current-menu-ancestor ' : ''
wordpress menu menuitem ancestor
© www.soinside.com 2019 - 2024. All rights reserved.