一直试图解决我面临的问题,我被困住了 . 由于这个社区我自己修改了很多woocommerce默认行为,但似乎我找不到任何poiner如何应对这个...

我的问题是我只在商店页面上显示类别,当然还列出了其中的产品 . 有些产品确实有我想要的子类别(我希望)在特定类别的所有产品之后显示 . 现在subs显示为第一项,后面的产品 . 如果我从woocommerce_product_loop_start中删除maybe_show_categories过滤器并在arhive-product中回显它,那么我会丢失商店页面上的所有类别(它显示的是产品,显示类型的视图仅设置为类别) .

有没有办法使条件删除过滤器只影响当前产品类别并从循环中删除子类别,以便我可以在循环结束之前回显它,但它不影响其他类别,只有子?有点像孩子吗?或者有没有办法修改它自己的循环,只在产品后列出子类别?

非常感谢您的帮助!

EDIT:

所以,我尝试过:

if ( is_product_category() ) {
echo woocommerce_maybe_show_product_subcategories ( ' ' );
}

这部分工作,它回应各自类别的产品后的子类别 . 但是,这复制了子类别,我似乎找不到摆脱它在产品之前显示的第一个实例的方法 .

我试过了

remove_filter( 'woocommerce_product_loop_start', 
'woocommerce_maybe_show_product_subcategories' );

但是它删除了所有类别,而不仅仅是潜艇,而且我认为没有任何条件包装有助于此 .

希望它足以澄清我遇到的问题......

EDIT 2:

我设法得到了一个缺乏更好的“解决方案” . 仍然希望有人会发一个真实的,但现在我设法隐藏了第一个孩子:

.tax-product_cat div.some-element-wrapper:first-child {
 display: none;
}

所以现在缺少一个更好的解决方案,我隐藏了第一个孩子(如果有更多子类别,我也必须隐藏它们),然后在产品循环结束之前回显它们 . 似乎工作 .

EDIT 3:

实际上它不起作用,因为它也隐藏了子类别中的第一个孩子,这不是我称之为可用的东西 . 相反,我必须在css中使用类别术语选择器,用于我们子类别隐藏/重新定位的每个类别列表,因此它实际上不适用于有多个重新定位的人...返回绘图板 .