Php 子类别术语中的目标电子商务产品类别存档页

Php 子类别术语中的目标电子商务产品类别存档页,php,wordpress,woocommerce,product,taxonomy-terms,Php,Wordpress,Woocommerce,Product,Taxonomy Terms,我有一个关于产品类别的问题。我有这样一个类别: -electronic -- laptop -- mobile 然后我想为electronic下的所有产品创建一个逻辑,我使用is\u product\u category('electronic'),但它不适用于electronic,它只在URL为mywebsite.com/product category/electronic时起作用,当我使用mywebsite.com/product category/electronic//code>它不

我有一个关于产品类别的问题。我有这样一个类别:

-electronic
-- laptop
-- mobile
然后我想为
electronic
下的所有产品创建一个逻辑,我使用
is\u product\u category('electronic')
,但它不适用于electronic,它只在URL为
mywebsite.com/product category/electronic
时起作用,当我使用
mywebsite.com/product category/electronic//code>它不起作用时才起作用。我应该使用以下代码还是有其他选项:

is_product_category( ‘laptop’ )
is_product_category( ‘mobile’ )

使用以下行:

is_product_category( array( 'electronic', 'mobile', 'laptop' ) )

您可以使用
term\u is\u祖先\u of()
检查正在查看的当前术语(产品类别)是否属于父术语

我编写了一个简单的助手函数:

/**
 * @param int|object $parent ID or object term object to check.
 * @return bool Whether the product category being viewed is a child of the given parent category.
 */
function wpse_is_child_product_category( $parent ) {
    if ( ! is_product_category() ) {
        return false;
    }

    return term_is_ancestor_of( $parent, get_queried_object(), 'product_category' );
}
用法:

if ( is_product_category( 5 ) || wpse_is_child_product_category( 5 ) ) {
    // . . .

您可以创建一个自定义条件函数,该函数还可以处理产品类别存档中的任何子产品类别,如(处理术语名称、术语段塞或术语id):

代码进入活动子主题(或活动主题)的functions.php文件。测试和工作

用法:

if ( is_maybe_child_product_category( 'laptop' ) ) {
    // Do something
}

谢谢@CoachLab,但这是一个很长的列表,超过50个子类别位于电子目录下。手机和笔记本电脑就是例子。
if ( is_maybe_child_product_category( 'laptop' ) ) {
    // Do something
}