Woocommerce中产品类别归档页面和相关单个产品的条件逻辑

时间:2018-10-05 07:39:59

标签: php wordpress if-statement woocommerce conditional

我正在一个wordpress网站上工作。话虽如此,我正在使用woocommerce和小部件逻辑。

我的总体目标是让小部件逻辑显示每个父类别及其子级(子类别)以及主要父类别下的所有产品的自定义小部件。

我不知道如何添加正确的代码以使小部件逻辑显示在父级,子级和产品上。通过使用以下代码,我可以将自定义小部件按其子类别显示在父项上:

is_product_category(array('PARENT','CHILD1',CHID2'))

这很完美;但是,如果我单击实际产品,则自定义小部件会消失。我希望这段代码不仅适用于父母和孩子,而且适用于主要父母的产品。我很迷路;我不知道如何使用Wordpress条件代码来实现此目的。

任何帮助将不胜感激。

罗伯特

1 个答案:

答案 0 :(得分:0)

您可以将Woocommerce条件标记is_product()与专用的WordPress条件函数has_term()结合使用,例如:

if( is_product() && has_term( array('PARENT', 'CHILD1', CHID2’ ), 'product_cat', get_the_id() ) ){ // Display widget }

因此,您可以通过以下方式将两者结合起来:

if( is_product_category( array('PARENT', 'CHILD1', 'CHID2' ) ) || ( is_product() && 
has_term( array('PARENT', 'CHILD1', 'CHID2' ), 'product_cat', get_the_id() ) ) ){ 
    // Display widget
}

$categories = array('PARENT', 'CHILD1', 'CHID2' );

if( is_product_category( $categories ) || ( is_product() && 
has_term( $categories, 'product_cat', get_the_id() ) ) ){ 
    // Display widget
}

经测试可正常工作