我有2个产品类别 "current-probes" 和 "accessories" ,它们有一些子类别 "flex-ct" , "tlar" 和 "test-lead" .
我想在商店页面,我的子类别和我的产品中显示 . 我知道WooCommerce有一个设置来显示父类别和产品,但不显示子类别 .
我还需要阻止显示子类别的各个产品 .
这是我尝试过的代码(位于我的functions.php文件中):
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
function custom_pre_get_posts_query( $q ) {
if ( ! is_admin() && is_shop() || is_product_category( array( 'current-probes', 'accessories' )) ) {
$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'flex-ct', 'tlar', 'test-lead' ),
'operator' => 'NOT IN'
)));
}
remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
}
这可以防止子类别的各个产品显示,但我需要在循环中显示实际的子类别 .
WooCommerce有一个只显示类别和产品的设置,基本上我只想显示子类别(不是父类别)和产品 . 我希望这是有道理的 .
我一直试图解决这个问题一个星期,我疯了 . 我觉得有一个我忽略的简单解决方案 .
我做错了什么?我怎样才能做到这一点?
谢谢
1 回答
我差不多找到了我要找的东西 . 它实际上没有使用pre_get_posts . 这是代码:
这将输出类别10的子类别 . 我唯一的问题是我需要选择多个父类别 . 我不熟悉在冒号中使用此语法,因此我不确定如何指定多个父类别 . 这也防止子类别显示在其父类别页面上,我不希望这种情况发生 . 如果有人有一些反馈,将非常感激 .