用于自定义帖子类型和自定义URL的CURRENT_MENU_PARENT

时间:2015-03-11 作者:yivi

我定义了一个加载自定义模板的自定义URL,作为自定义“归档”或自定义帖子类型。

我不能使用本机存档,因为页面有一些存档无法满足的必要条件,我仍然在另一个视图中使用默认存档。

问题是,当您使用菜单中的默认“category”条目时,WP足够聪明,可以应用该类current_menu_parent 到菜单中相应的条目,您可以相应地设置其样式。

但在我的情况下,我有一个菜单项链接到custom_archive, 您可以在其中列出相关的CPT,但当您进入单个视图时,WP不会(不能?)我知道custom-archive 是它的某种父级(然后我无法设置菜单的样式)。

是否有一种变通方法可以选择任意url作为帖子类型的“父”url?注意:此URL不是实际的post对象,只是一个url_rewrite 和atemplate_redirect.

谢谢和问候。

1 个回复
SO网友:yivi

最后把nav_menu_css_class 筛选,并在需要时添加适当的类。

像这样:

add_filter( \'nav_menu_css_class\', \'add_parent_menu_class\', 10, 2 );
function add_parent_menu_class( $classes, $item ) {

    $post = get_post();
    if ( ! $post ) {
        return $classes;
    }

    if ( $item->url === get_bloginfo( \'url\' ) . \'/custom_url\' && get_post_type() == $this->post_type ) {
        $classes[] = \'current-menu-parent\';
    }

    return $classes;
}

结束

相关推荐

注册_NAV_MENUS,然后以编程方式创建菜单

我有一个register_nav_menus 调用我的主题函数。php://register nav menu and footer nav. register_nav_menus( array( \'main-nav\' => \'Main Navigation\', \'footer-nav\' => \'Footer Navigation\' ) ); 这很好,但我想采取额外的步