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"
这就是你如何找到这样的东西:
通过查看主题文件找到相关函数,在本例中为header.php
在Wordpress Codex中查看此功能(http://codex.wordpress.org/Function_Reference/body_class)
是否有任何类似于我想做的例子?是:
//通过过滤器添加特定的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)
希望这段代码有效.如果没有,请按照上述步骤尝试找出问题所在.我希望我至少帮助了一点:)