ページのエイリアスをフィルタリングすると、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('ショップ')) {
$classes[] = 'woocommerce-page-SGARAGLINO';
$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()
が true の場合にのみ$classes
変数を返しますが、実際には常に$classes
変数を返す必要があります:フィルターは常に値を返す必要があります。値を返さない場合は、ほとんどの場合エラーが発生します。