在WooCommerce单品页面上,在添加到购物车按钮下会显示产品类别列表。
In my website我有两个名为“In Ground Hoops”的产品类别,因此它会显示两次,因为它是一个主要类别和一个子类别。
如何隐藏此子类别并不显示在那里?
我无法使用CSS定位它,woocommerce_template_single_meta
挂钩是我能找到的全部或全部。
任何关于从哪里开始和/或如何做的想法都将受到赞赏。
答案 0 :(得分:1)
您的产品类别和子类别"在Ground Hoops"具有相同的术语名称,但每个术语名称不同:
'in-ground-hoops'
'in-ground-hoops-goalrilla'
因此,在代码中区分它们的唯一方法是使用 term ID 或 term slug 。所以我将在这里使用术语Slug ...
在查看显示元输出的 the responsible template 时,过滤该特定产品子类别的唯一方法是使用可用的WP get_the_terms
过滤器钩子:
add_filter( 'get_the_terms', 'hide_specific_product_subcategory', 20, 3 );
function hide_specific_product_subcategory( $terms, $post_id, $taxonomy )
{
// Only on single product pages and for product category custom taxonomy
if( ! is_product() && $taxonomy != 'product_cat' ) return $terms; // We Exit
$category = 'in-ground-hoops'; // your main product category
$subcategory = 'in-ground-hoops-goalrilla'; // the related subcategory
$taxonomy = 'product_cat'; // product category taxonomy
if( has_term( $category, $taxonomy, $post_id ) ){
foreach ($terms as $key => $term){
if( $term->slug == $subcategory ){
unset( $terms[$key] );
}
}
}
return $terms;
}
代码进入活动子主题(或活动主题)的function.php文件。
经过测试和工作。