Редактирование табов на странице карточки товара

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
вкладки на странице товара

На странице карточки товара есть табы «Описание», «Детали», «Отзывы» и иногда нужно подредактировать их вывод.

табы в woocommerce

Обратите внимание, что вкладки «Описание» и «Детали» появляются только когда есть что отобразить. То есть, если есть текст контента то отображается «Описание», если есть у товара атрибуты то отображается «Детали».

Редактирование табов

Работа с табами ведется через woocommerce_product_tabs

Например


add_filter('woocommerce_product_tabs','change_tabs');
function change_tabs($tabs){

//расположение вкладки "описание" после отзывов
unset($tabs['additional_information']); // удаляем таб

// задаем приоритет отображения
$tabs['description']['priority'] = 10; 

// изменяем заголовок таба
$tabs['description']['title'] = 'Характеристики'; 

// изменяем обработчик, указав название функции 
$tab['description']['callback'] = 'comments_template'; 

return $tabs;
};

То есть мы фактически переопределили стандартный обработчик табов на свой «change_tabs»

Например, нам нужно изменить порядок отображения табов, и Описание (Description) перенести под Атрибуты (Additional information), тогда меняем просто приоритет


add_filter('woocommerce_product_tabs','change_tabs');
function change_tabs($tabs){

  // задаем приоритет отображения
  $tabs['description']['priority'] = 100; 

  return $tabs;
};

Для того что бы посмотреть что вообще находится с $tabs, добавляем print_r($tabs);

и получаем


[description] => Array (
  [title] => Описание
  [priority] => 10
  [callback] => woocommerce_product_description_tab
)
[additional_information] => Array (
  [title] => Детали
  [priority] => 20
  [callback] => woocommerce_product_additional_information_tab
)
[reviews] => Array (
  [title] => Отзывы (1)
  [priority] => 30
  [callback] => comments_template
)

Не отображается вкладка «Отзывы»

Еще ньюанс, если у вас не отображается вкладка «Отзывы» хотя print_r($tabs) показывает что там есть «reviews» то возможно проблема в теме, добавьте в функцию темы (functions.php) это


add_theme_support( 'woocommerce' );

Изменение заголовка h2 в табе

Если надо изменить заголовок h2 в табе а не надпись таба, например «Детали», то переопределяем шаблон, additional-information.php, добавляя его в нашу тему

путь_теме/woocommerce/single-product/tabs/additional-information.php

и в нем уже правим h2

Другие способы изменения табов

Для редактирования табов есть плагин, который вполне хорошо справляется с эти, это Custom Product Tabs for WooCommerce

1 комментарий

  • Сергей

    А как отключить таб в одной только категории?
    Если товары разномастные, например в одном нужны характеристики, а в другом они не уместны?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *