如何使用WooCommerce瞄准父产品类别及其子产品类别?

时间:2019-08-09 作者:combatdev

在WooCommerce中,归档产品是所有产品类别的默认模板。我想为一个父类别及其所有子类别创建一个新的产品类别模板。

我创建了一个新模板archive-foo.php

现在我需要更改里面的代码taxonomy-product_cat.php 并告诉它使用归档foo。php“如果它是我的父类别或其任何子类别”。

这是我的代码taxonomy-product_cat.php:

if (is_product_category( \'foo-category\' ) || cat_is_ancestor_of(19, get_queried_object()->term_id )){ wc_get_template( \'archive-foo.php\' );
    } else { wc_get_template( \'archive-product.php\' ); }
目前,它适用于父类别,但没有子类别。任何帮助都将不胜感激。

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

WordPress功能cat_is_ancestor_of() 为WordPress类别制作,but not 对于作为自定义分类法的WooCommerce产品类别product_cat.

对于自定义分类法,可以使用WordPressterm_is_ancestor_of() 功能如下:

term_is_ancestor_of( 19, get_queried_object_id(), \'product_cat\' )
因此,在您的代码中:

if ( is_product_category( \'foo-category\' ) || term_is_ancestor_of( 19, get_queried_object_id(), \'product_cat\' ) ) { 
    wc_get_template( \'archive-foo.php\' );
} else { 
    wc_get_template( \'archive-product.php\' ); 
}
这次应该可以了。

相关推荐