删除Wordpress正文类

Chr*_*ton 5 php wordpress class

我如何从Wordpress中的body元素中删除类?

默认值:body class ="page page-id-7 page-template-default logged-in"


我在找什么:body class ="page-id-7"

On Post's:body class ="postid-40"

C. *_* E. 9

这就是你如何找到这样的东西:

  1. 通过查看主题文件找到相关函数,在本例中为header.php

  2. 在Wordpress Codex中查看此功能(http://codex.wordpress.org/Function_Reference/body_class)

  3. 是否有任何类似于我想做的例子?是:

    //通过过滤器添加特定的CSS类add_filter('body_class','my_class_names'); function my_class_names($ classes){//将'class-name'添加到$ classes array $ classes [] ='class-name'; //返回$ classes数组返回$ classes; }

基本上,要删除所有类,只需将其添加到functions.php:

add_filter('body_class','my_class_names');
function my_class_names($classes) {
    return array();
}
Run Code Online (Sandbox Code Playgroud)

t 4.但我想保留页面ID和帖子ID - 我该怎么做?因为您不知道数组中哪些索引可以找到此信息,并且通过数组搜索是蹩脚的,所以您需要先像上面那样清空数组,然后添加您真正想要的内容.您如何获得正确的信息,即页面ID和帖子ID?这是第五步.

(5)在codex页面的底部,您将找到源代码的链接.这是您可以找到的链接:http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/post-template.php如果您查看该功能,您会看到它使用一个函数,它只是填充我们可以使用上述过滤器操作的相同数组.通过查看他们是如何做到的,你也可以做到.

add_filter('body_class','my_class_names');
function my_class_names($classes) {
    global $wp_query;

    $arr = array();

    if(is_page()) {
    $page_id = $wp_query->get_queried_object_id();
    $arr[] = 'page-id-' . $page_id;
    }

    if(is_single()) {
    $post_id = $wp_query->get_queried_object_id();
    $arr[] = 'postid-' . $post_id;
    }

    return $arr;
}
Run Code Online (Sandbox Code Playgroud)

希望这段代码有效.如果没有,请按照上述步骤尝试找出问题所在.我希望我至少帮助了一点:)