當我過濾頁面的別名時,在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
變數:過濾器必須始終傳回一個值;如果不傳回值,幾乎總是會引發錯誤。