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

时间:2014-08-21 10:12:05

标签: php html css wordpress

我的标题中显示了一个菜单。它包含指向博客列表页面的链接。

当我导航到博客存档或标记存档时,此菜单项将设置为当前页面。

为什么要这样做?

有没有办法阻止它?

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

在Functions.php中定义的菜单

function register_my_menu() {
    register_nav_menu('header-menu',__( 'Header Menu' ));
}
add_action( 'init', 'register_my_menu' );

模板中显示的菜单:

$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;

1 个答案:

答案 0 :(得分:0)

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

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 );