如何为非首页的页面添加自定义主体类


How to add a custom body class for pages that are not the front page?

我试图在WordPress站点中添加自定义正文类.custom-body到所有非首页的页面:

对于我的functions.php,我添加了以下过滤器:
if ( !is_front_page() ) {
    add_filter('body_class','my_class_names');
    function my_class_names($classes) {
        // add 'class-name' to the $classes array
        $classes[] = 'custom-body';
        // return the $classes array
        return $classes;
    }
}   

在header中,我调用body-function:

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

问题是custom-body被添加到所有页面,即if语句似乎不起作用。

你知道怎么让它工作吗?

有条件地添加CSS-class而不是过滤器解决了这个问题:

function my_class_names($classes) {
    // add 'class-name' to the $classes array
    if( !is_front_page() ) $classes[] = 'custom-body';
    // return the $classes array
    return $classes;
}
add_filter('body_class','my_class_names');