如何瞄准没有任何子类别的所有WooCommerce类别?

时间:2020-08-06 作者:Victor

我想针对显示产品本身的所有页面(产品类别)。

My woocommerce设置设置为仅显示类别/子类别(除非没有),然后默认情况下,产品网格显示在页面上。

is_product_category() 功能没有帮助,因为它还针对没有直接产品的父类别。

如果答案很重要的话,我的大多数类别中没有任何子类别,它们都是孙子类别。

我如何实现它以及如何在woocommerce挂钩中使用它?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

您可以使用woocommerce_products_will_display(). 此函数返回true 如果当前店铺页面要显示产品。如果您的店铺页面设置为显示产品或子类别和产品,则会出现这种情况,但实际情况是false 如果店铺页面设置为仅显示子类别,并且当前类别具有子类别。

if ( woocommerce_products_will_display() ) {
    // Products are showing.
} else {
    // Products are not showing.
}
Thewoocommerce_get_loop_display_mode() 类似,但可以让您知道子类别是否也显示:

switch ( woocommerce_get_loop_display_mode() ) {
    case \'products\':
        // Products are displaying.
        break;
    case \'subcategories\':
        // Subcategories are displaying.
        break;
    case \'both\':
        // Products and subcategories are displaying.
        break;
}