当我过滤页面的别名时,在WordPress函数中出现错误
P粉946336138
2023-08-17 17:30:15
<p>这在商店页面上可以正常工作,但在其他页面上会抛出错误。</p>
<p>这与 if(is_page('shop')) 有关。</p>
<p><br /></p>
<pre class="brush:html;toolbar:false;">function divi_engine_body_class( $classes ) {
if(is_page('shop')) {
$classes[] = 'woocommerce-page-SGARAGLINO';
return $classes;
}
}
add_filter( 'body_class','divi_engine_body_class',99999);</pre>
<p><br /></p>
<p>错误信息:PHP致命错误:Uncaught TypeError:array_unique():参数#1($array)必须是数组类型,在/wordpress/core/6.2.2/wp-includes/post-template.php:861处给出了null。</p>
如果
is_shop()
为真,该函数只返回$classes
变量,而实际上它应该始终返回$classes
变量:过滤器必须始终返回一个值;如果不返回值,几乎总会引发错误。