从具有特定类别 wordpress 的页面中删除自定义正文 class

Remove custom body class from pages with a specific category wordpress

我正在尝试从 WordPress 中具有特定类别的页面中删除自定义正文 class。

下面是我正在尝试使用的代码。然而,事实并非如此。

   function remove_body_class($wp_classes) { 
    if ( is_category ('places') ) :
    foreach ( $wp_classes as $key=>$value ) {
       if ( $value =='my_class' ) unset( $wp_classes[ $key ] );}
    endig;
return $wp_classes; 
}  add_filter( 'body_class', 'remove_body_class');

当我从所有页面中删除 class 而不使用 "if ( is_category ('places') ) :"

时它起作用了

但我不能让它只对特定的 category/posts 起作用。

如果我做错了什么,你能告诉我吗?我将不胜感激。

谢谢。

对你有帮助。

// 从 body_class 数组中删除一个 class。

add_filter( 'body_class', function( $classes ) {
    if ( isset( $classes['your-class-name'] ) ) {
        unset( $classes['your-class-name'] );
    }
    return $classes;
} );
// 34 is your category id
if (is_category('34')) 
{
    add_filter( 'body_class', function( $classes ) {
        if ( isset( $classes['your-class-name'] ) ) {
            unset( $classes['your-class-name'] );
        }
        return $classes;
    } );

}
// When the archive page for Category 34 is being displayed.

$cat_id 定义为类别 ID,并将 "your-class-name" 更改为要删除的 class 的名称:

if ( is_category($cat_id) ) {
    add_filter( 'body_class', function( $classes ) {
        if ( null !== array_search( 'your-class-name', $classes) ) {
            unset( $classes[ array_search( 'your-class-name', $classes) ] );
        }

        return $classes;
    } );
}