我正在尝试将其他类添加到<body>
基于某些条件,所以我在functions.php
主题文件:
add_filter( \'body_class\', \'custom_body_class\' );
function custom_body_class( $classes ) {
if ( !is_home() && !is_archive() ) {
$classes[] = array_push( $classes, \'new-class\' );
}
if ( condition ) {
$classes[] = array_push( $classes, \'conditional-class\' );
}
return $classes;
}
上面的代码可以工作,但当我查看HTML输出中的body类时,它会根据其在数组中的位置显示一个额外的数字作为类,例如:
<body class="single logged-in new-class 4 conditional-class 6">
或:
<body class="single logged-in admin-bar new-class 5 conditional-class 7">
我认为这可能是我的PHP代码的一个更大的问题,但我看不出是什么原因造成的。有没有办法添加没有这个问题的条件体类?谢谢你的帮助!
最合适的回答,由SO网友:cybmeta 整理而成
您正在使用array_push()
不正确。
执行以下操作:
$classes[] = \'new-class\';
或者这个:
array_push( $classes, \'new-class\' );
但不是:
$classes[] = array_push( $classes, \'new-class\' );