Woocommerce - переименовать вкладку продукта в соответствии с выбранной категорией продуктов

87
10

Я надеялся переименовать продукт по умолчанию 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;
}

Но, к сожалению, он, похоже, не работает, поскольку имя вкладки все еще является "Описание",

Что я делаю неправильно?

спросил(а) 2020-02-28T12:58:31+03:00 4 месяца, 2 недели назад
1
Решение
55

Изменить:

 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.

ответил(а) 2020-02-28T13:08:11.750224+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема