WooCommerce вкладки в карточке товара

К настройке интернет-магазина всегда будет пользовательский подход. Редко случается, что все устраивает так, как оно сделано по умолчанию. К примеру, вкладки товаров WooCommerce. Вроде бы к ним вопросов нет, но не всё так просто. Есть моменты, когда нужно изменить порядок вкладок, или некоторые удалить, переименовать, а то и вовсе, добавить новую вкладку.

Как это сделать?

Для этого мы будем использовать хуки-фильтры, чтобы управлять вкладками в карточке товара и получить нужный результат. Любой ниже представленный код нужно добавить в файл functions.php.

Удаление вкладок товаров

/**
* Удаление ненужных вкладок
*/
add_filter( 'woocommerce_product_tabs', 'woo_remove_product_tabs', 98 );
function woo_remove_product_tabs( $tabs ) {
unset( $tabs['description'] ); // удалить вкладку описание
unset( $tabs['reviews'] ); // удалить вкладку отзывы
unset( $tabs['additional_information'] ); // удалить вкладку детали/дополнительная инф
return $tabs;
}

Переименовать название вкладок товаров

/**
* Переименовать название вкладок
*/
add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );
function woo_rename_tabs( $tabs ) {
$tabs['description']['title'] = __( 'Подробное описание' ); // Вкладка описание
$tabs['reviews']['title'] = __( 'Оставить отзыв' ); // Вкладка отзывы
$tabs['additional_information']['title'] = __( 'Детали' ); // Вкладка дополнительная инф.
return $tabs;
}

Изменить порядок вкладок товаров

/**
* Изменить порядок вкладок
*/
add_filter( 'woocommerce_product_tabs', 'woo_reorder_tabs', 98 );
function woo_reorder_tabs( $tabs ) {
$tabs['reviews']['priority'] = 5; // Сначало отзывы
$tabs['description']['priority'] = 10; // Описание
$tabs['additional_information']['priority'] = 15; // Детали
return $tabs;
}

Добавить новую вкладку ко всем товарам

/**
* Добавить новую глобальную вкладку
*/
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
// добавляем новую вкладку
$tabs['test_tab'] = array(
'title' => __( 'Название вкладки', 'woocommerce' ),
'priority' => 50,
'callback' => 'woo_new_product_tab_content'
);
return $tabs;
}
function woo_new_product_tab_content() {
// Контент вкладки
echo '<h2>Заголовок</h2>';
echo '<p>Текст</p>';
}
Оставить ответ

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