我希望根据所选的产品类别将单个产品页面上的默认产品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;
}
但不幸的是它似乎没有工作,因为标签名称仍然是“描述”
我做错了什么?
答案 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。