Woocommerce - 根据所选的产品类别重命名产品选项卡

时间:2017-12-09 06:03:26

标签: php wordpress woocommerce hook-woocommerce

我希望根据所选的产品类别将单个产品页面上的默认产品DESCRIPTION TAB重命名为其他名称。

我最初退出以下WC功能以重命名默认说明标签:

add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );
function woo_rename_tabs( $tabs ) {

    $tabs['description']['title'] = __( 'More Information' );   // Rename the description tab

    return $tabs;

} 

现在我想要实现的是,如果将产品分配到“书籍”类别,则说明选项卡的名称将更改为“关于此书”。 然后,如果将产品分配到“视频”类别,则该选项卡将更改为“关于此视频”,如果将产品分配给任何其他类别,则选项卡名称将更改为“更多信息”

我试图修改代码,这就是我提出的:

add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );
function woo_rename_tabs( $tabs ) {

    global $product, $woocommerce;

    if ( is_product_category() ) {

        if ( is_product_category( 'books' ) ) {
           $tabs['description']['title'] = __( 'About this book' );
        } elseif ( is_product_category( 'videos' ) ) {
           $tabs['description']['title'] = __( 'About this video' );  
        } else {
           $tabs['description']['title'] = __( 'More Information' );
        }
    }

    return $tabs;
}

但不幸的是它似乎没有工作,因为标签名称仍然是“描述”

我做错了什么?

1 个答案:

答案 0 :(得分:1)

更改:

 is_product_category( 'books' ) to has_term( 'books', 'product_cat' )
 is_product_category( 'videos' ) to has_term( 'videos', 'product_cat' )

,它应该有用。

函数is_product_category仅在查看产品类别页面时返回true。但是你在单一产品页面上,这就是为什么它返回FALSE。

相关问题