Woocommerce - переименовать вкладку товара в соответствии с выбранной категорией товара
Я надеялся переименовать вкладку ОПИСАНИЕ продукта по умолчанию на странице одного продукта в другое имя в соответствии с выбранной категорией продукта.
Я изначально выходил из следующей функции 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 ответ
Изменить:
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.