WooCommerce多必填商品分类检查代码报错求助:意外{符号
问题排查与修正方案
嘿,这个错误的根源很明显——括号匹配混乱+逻辑判断的语法错误,咱们一步步拆解修复:
原代码的核心错误点
你写的这行代码有两处关键问题:
- 括号嵌套错误:
is_product_category()的调用逻辑里,你把第二个is_product_category直接塞到了第一个的参数里,导致括号完全不匹配 - 缺少闭合括号:整个
if条件的末尾少了一个),所以PHP解析器才会报错“意外的「{」”
修正后的代码行
if( !WC()->cart->is_empty() && ( is_cart() || is_product_category( $categories_needed[0] ) || is_product_category( $categories_needed[1] ) ) ) {
更灵活的优化写法
如果你的$categories_needed是一个包含多个分类的数组,其实可以简化成更易维护的写法,不用逐个写is_product_category:
// 假设$categories_needed是类似 ['category-slug-1', 'category-slug-2'] 的数组 $current_category = is_product_category() ? get_queried_object()->slug : ''; if( !WC()->cart->is_empty() && ( is_cart() || in_array( $current_category, $categories_needed ) ) ) { // 你的业务逻辑代码 }
这样不管数组里有多少个分类,都能一次性完成判断,后续修改分类也不用调整判断逻辑~
内容的提问来源于stack exchange,提问作者Resul Cimen
相关产品推荐
相关产品推荐

