当我过滤页面的别名时,在WordPress函数中出现错误
P粉946336138
P粉946336138 2023-08-17 17:30:15
0
1
481
<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>
P粉946336138
P粉946336138

全部回复(1)
P粉269530053

如果is_shop()为真,该函数只返回$classes变量,而实际上它应该始终返回$classes变量:

function divi_engine_body_class( $classes ) {
   if ( is_page( 'shop' ) ) {
        $classes[] = 'woocommerce-page-SGARAGLINO';
    }

    return $classes;
}

过滤器必须始终返回一个值;如果不返回值,几乎总会引发错误。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板