如何在WordPress特定分类(Australian open)下隐藏产品描述、评论及附加信息?
解决WooCommerce仅在指定分类下隐藏产品标签的问题
嘿,我来帮你搞定这个问题!你的现有代码是全局移除了所有产品的描述、评论和附加信息标签,要实现仅在Australian open分类下隐藏这些内容,只需要给代码添加一个分类判断的条件就行啦。
修改后的完整代码
function woo_remove_product_tab($tabs) { // 获取当前产品对象 global $product; if ( ! $product ) return $tabs; // 检查当前产品是否属于"Australian open"产品分类 // 提示:如果分类的slug(别名)不是"Australian open",建议替换成slug更稳定,比如"australian-open" if ( has_term( 'Australian open', 'product_cat', $product->get_id() ) ) { unset($tabs['description']); // 移除描述标签 unset($tabs['reviews']); // 移除评论标签 unset($tabs['additional_information']); // 移除附加信息标签 } return $tabs; } add_filter('woocommerce_product_tabs', 'woo_remove_product_tab', 98);
代码说明
- 首先通过
global $product获取当前正在展示的产品对象,确保我们能拿到产品的分类信息 - 使用
has_term()函数判断产品是否属于目标分类:第一个参数是分类名称(或slug/ID),第二个参数是分类类型(WooCommerce产品分类的类型是product_cat),第三个参数是产品ID - 只有当产品属于"Australian open"分类时,才执行移除标签的操作,其他分类的产品保持原有标签不变
小提示
如果你的"Australian open"分类的slug(后台编辑分类时的别名)是类似australian-open这种格式,建议把has_term()里的第一个参数改成slug,比如has_term( 'australian-open', 'product_cat', $product->get_id() ),这样判断会更稳定,避免名称大小写或空格带来的问题。
内容的提问来源于stack exchange,提问作者SHEESHRAM
相关产品推荐
相关产品推荐

