WooCommerce如何在functions.php短代码钩子中排除指定产品分类ID
解决方案
你只需要在原函数中加入WordPress内置的分类判断逻辑即可,修改后的完整代码如下:
add_action( 'woocommerce_single_product_summary', 'sizeguidemen', 20 ); function sizeguidemen() { // 此处填写你要排除的产品分类ID,多分类请改为数组格式:array(65, 66, 67) $exclude_cats = 65; // 判断当前产品是否属于排除分类,是则直接终止函数不输出短代码 if ( has_term( $exclude_cats, 'product_cat', get_the_ID() ) ) { return; } echo do_shortcode('[elementor-template id="66083"]'); }
参数说明
has_term()是WordPress官方提供的条件判断函数,用来检测当前文章是否关联了指定的分类项,三个参数分别对应:分类项ID/别名/名称、分类法(产品分类固定为product_cat)、当前文章ID- 如果你需要禁用多个分类下的短代码,只需要把
$exclude_cats的值改为数组格式即可,示例:$exclude_cats = array(65, 68, 72); - 除了分类ID,你也可以直接填分类别名或分类名称,比如分类别名为
no-size-guide,可以直接写为$exclude_cats = 'no-size-guide'; - 代码添加后如果不生效,先清空站点缓存、WooCommerce缓存和浏览器缓存再测试即可
内容的提问来源于stack exchange,提问作者Texture Heaven
相关产品推荐
相关产品推荐

