将类添加到Body_Class时出现问题

时间:2015-01-16 作者:Billy

我正在尝试将其他类添加到<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代码的一个更大的问题,但我看不出是什么原因造成的。有没有办法添加没有这个问题的条件体类?谢谢你的帮助!

1 个回复
最合适的回答,由SO网友:cybmeta 整理而成

您正在使用array_push() 不正确。

执行以下操作:

$classes[] = \'new-class\';
或者这个:

array_push( $classes, \'new-class\' );
但不是:

$classes[] = array_push( $classes, \'new-class\' );

结束

相关推荐

在我的WordPress主题中包含JavaScript和CSS的正确方法

我正在尝试用正确的方法构建我自己的Wordpress主题。但是我发现的第一个问题是如何“使用正确的方式”添加css和js。我找到了一些如何做的教程。e、 x:http://code.tutsplus.com/tutorials/loading-css-into-wordpress-the-right-way--cms-20402 (这是“2014年6月30日”)这一个http://code.tutsplus.com/articles/how-to-include-javascript-and-css-in