根据Woocommerce中的父产品类别更改标题

时间:2018-08-30 01:27:15

标签: php wordpress if-statement woocommerce custom-taxonomy

我正在经营一家电子商务商店,其中有两个针对商店不同侧面的自定义标头。我想知道是否可能用于:

  • 显示标题A的父产品类别A
  • 要显示标题B的父产品类别B

我只是不知道将其放置在主题中。

这是我的实际代码示例:

if(is_category('category-a-slug')){
    get_header('a');
}elseif(is_category('category-b-slug')){
    get_header('b');
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

要根据父产品类别获取其他标题,请使用以下代码:

// For product category archive pages only
if(is_product_category()){
    // Get the WP_Term object for the current product category
    $queried_obj = get_queried_object();
    $parent_id   = $queried_obj->parent; // The parent term ID
    $taxonomy    = $queried_obj->taxonomy; // The taxonomy

    // If a parent term id exist, we get the parent term slug
    if( $parent_id > 0 ){
        $parent_slug = get_term_by( 'term_id', $parent_id, $taxonomy )->slug;
    }

    // If a parent slug exist and for parent term slug 'category-a-slug'
    if ( isset($parent_slug) && $parent_slug == 'category-a-slug' ) {
        get_header('a');
    } 
    // If a parent slug exist and for parent term slug 'category-b-slug'
    elseif ( isset($parent_slug) && $parent_slug == 'category-b-slug' ) {
        get_header('b');
    } 
    // Other cases
    else {
        get_header('shop');
    }
// For other Woocommerce archives types (as shop)
} else {
    get_header('shop');
}

应该可以。

  

代码在Woocommerce模板archive-product.php上替换了get_header('shop');

     

请参阅:How to override Woocommerce templates via the active theme (documentation)