如何从Wordpress中的body元素中删除类?
默认: body class=“页面-id-7页-模板-默认登录”
我要找的是: body class=“页面-id-7”
邮报: body class="postid-40“
发布于 2011-10-17 21:09:00
你就是这样找到这样的东西的:
header.php
//通过筛选器add_filter添加特定的CSS类(‘body_ class’,'my_class_names');函数my_class_names( $classes ) { //向$classes数组$classes[] = 'class-name‘添加’类名‘;//返回$classes数组返回$classes;}
因此,基本上,要删除所有类,只需将其添加到functions.php中:
add_filter('body_class','my_class_names');
function my_class_names($classes) {
return array();
}T4。但是我想保留页面id和post id --我怎么做呢?因为您不知道数组中有哪些索引可以找到这些信息,而在数组中进行搜索是很糟糕的,所以您需要像前面所做的那样,首先清空数组,然后添加真正想要的内容。如何获得正确的信息,即页面id和post id?这是第五步。
(5)在代码索引页的底部,您将找到一个指向源代码的链接。这就是您会发现的链接:如果您查看这个函数,您将看到它使用的是一个函数,它只是填充我们可以使用前面提到的过滤器操作的相同的数组。通过观察他们是如何做到的,你也能做到。
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;
}希望这段代码能起作用。如果没有,请按照上面的步骤来找出问题所在。我希望我至少帮了一点忙:)
发布于 2019-02-05 16:58:18
当前正在运行的删除和添加类的代码
//remove body class
add_filter('body_class', function (array $classes) {
if (in_array('class_name', $classes)) {
unset( $classes[array_search('class_name', $classes)] );
}
return $classes;
});
// Add specific CSS class by body.
add_filter( 'body_class', function( $classes ) {
return array_merge( $classes, array( 'class-name' ) );
} );https://stackoverflow.com/questions/7799089
复制相似问题