首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在标记或存档页面上时,博客菜单链接设置为当前页面

在标记或存档页面上时,博客菜单链接设置为当前页面
EN

Stack Overflow用户
提问于 2014-08-21 18:12:05
回答 1查看 125关注 0票数 0

我定义了一个菜单,它出现在我的标题中。它包含一个指向博客列表页面的链接。

当我导航到Blog Archive或Tag Archive时,此菜单项被设置为当前页面。

它为什么要这么做?

有没有办法阻止它?

我知道我可以添加条件CSS来阻止CSS突出显示项目,但我想知道添加当前页面类的原因以及它是否可以更改。

在Functions.php中定义的菜单

代码语言:javascript
复制
function register_my_menu() {
    register_nav_menu('header-menu',__( 'Header Menu' ));
}
add_action( 'init', 'register_my_menu' );

模板中显示的菜单:

代码语言:javascript
复制
$menu = wp_nav_menu(array(
    'container' => '',
    'echo' => false,
    'theme_location' => 'header-menu',
    'items_wrap' => '<ul id="%1$s" class="%2$s list-inline">%3$s</ul>',
));
$menu = str_replace("\n", "", $menu);
$menu = str_replace("\r", "", $menu);
echo $menu;
EN

回答 1

Stack Overflow用户

发布于 2014-08-21 18:24:28

尝试下面的代码,并将my-cat-taxmy-post-type替换为您博客的分类和帖子类型

代码语言:javascript
复制
function fix_blog_menu_css_class( $classes, $item ) {
    if ( is_tax( 'my-cat-tax' ) || is_singular( 'my-post-type' ) || is_post_type_archive( 'my-post-type' ) ) {
        if ( $item->object_id == get_option('page_for_posts') ) {
            $key = array_search( 'current_page_parent', $classes );
            if ( false !== $key )
                unset( $classes[ $key ] );
        }
    }

    return $classes;
}
add_filter( 'nav_menu_css_class', 'fix_blog_menu_css_class', 10, 2 );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25423674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档