wordpress:body_class在自定义网址上生成“home”类

时间:2014-12-31 01:23:12

标签: wordpress

我写的插件添加了一个自定义网址,并使用以下方法使用自定义模板对其进行处理:

public function url_for_calendar() {
    add_rewrite_rule( 'calendario', 'index.php?upcoming-events=true', 'top' );
}

public function template_for_calendar( $path ) {
    if ( get_query_var( 'upcoming-events' ) ) {
        $template = get_template_directory() . '/upcoming-events.php';

        return $template;
    }

    return $path;
}

public function upcoming_event_query_var( $vars ) {
    $vars[] = 'upcoming-events';

    return $vars;
}

add_action( 'init', array( $this, 'url_for_calendar' ) );
add_filter( 'template_include', array( $this, 'template_for_calendar' ) );
add_filter( 'query_vars', array( $this, 'upcoming_event_query_var' ) );

事情按计划进行,但我遇到的问题是在我的标题上,我在哪里:

<body <?php body_class(); ?>>

body_class()最终添加&#34; home&#34;到班级列表。我阅读了#34; is_home&#34;的文档。而对于&#34; body_class&#34;,但我仍然不明白为什么会添加&#34; home&#34;此特定URL的类。我应该使用body_class过滤器删除它(并添加相关的类),还是有更好的方法来实现它?

使用WP 4.1。

1 个答案:

答案 0 :(得分:0)

实际上,is_home()添加了“blog”类。

为首页添加“home”类(is_front_page())。

如果为静态首页配置了设置并且在那里运行了此代码,那么您将获得“home”作为正文类。