• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Изменение tab`ов

gtxtymt

Новичок
#1
Здравствуйте.

Возникла необходимость одну из вкладок на странице товара (описание, свойства, отзывы) изменить под другие нужды - один и тот же текст, доступный лишь у некоторых товаров. Выбор пал на вкладку с отзывами, которая с одной стороны мне совсем не нужна, с другой стороны легко выключается при создании товара. Где находится содержимое я нашел быстро, но не могу найти, где изменить название вкладки. Подскажите, пожалуйста.

P.S. а еще я только заметил, что промахнулся с категорией. переместите, пожалуйста
 

searchingman

Гуру
Местный
#2
Вставьте код в functions.php своей темы и назовите вкладку так как нужно.
PHP:
add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );
function woo_rename_tabs( $tabs ) {

    $tabs['description']['title'] = __( 'More Information' );        // Изменить вкладку "Описание"
    $tabs['reviews']['title'] = __( 'Ratings' );                // Изменить вкладку "Рейтинг"
    $tabs['additional_information']['title'] = __( 'Product Data' );    // Изменить вкладку "Свойства"

    return $tabs;

}
 

gtxtymt

Новичок
#3
Вставьте код в functions.php своей темы и назовите вкладку так как нужно.
Спасибо, помогло. Еще один вопрос - после того, как переименовал вкладку она отображается даже в том случае, если в ней ничего нет. Можно ли это как-то исправить?
 

searchingman

Гуру
Местный
#4
Спасибо, помогло. Еще один вопрос - после того, как переименовал вкладку она отображается даже в том случае, если в ней ничего нет. Можно ли это как-то исправить?
В той же функции можно проверить на условие и при необходимости удалить или переименовать. Примерно так
PHP:
if (Какое-то условие)
unset( $tabs['reviews'] );             // удалим вкладку
else
$tabs['reviews']['title'] = __( 'Ratings' ); // Изменить вкладку "Рейтинг"
 

Might_UA

Новичок
#5
такой вопрос по теме. После добавления кода русские буквы светятся знаками вопросов как исправить ?
 

quosenk

Новичок
#7
В той же функции можно проверить на условие и при необходимости удалить или переименовать. Примерно так
PHP:
if (Какое-то условие)
unset( $tabs['reviews'] );             // удалим вкладку
else
$tabs['reviews']['title'] = __( 'Ratings' ); // Изменить вкладку "Рейтинг"
А как правильно задавать условие, чтобы вкладка удалялась для определенной категории товаров?
 

quosenk

Новичок
#9
Не работает, все время возвращает значение функции else
Подскажите, что не так сделал? В название категории пробовал писать ярлык - не помогло.

PHP:
add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );
function woo_rename_tabs( $tabs ) {
    
    if ( is_product_category ( 'Готовые комплекты' ) )
    $tabs['specification']['title'] = ( 'Содержимое комплекта' );
    else
    $tabs['specification']['title'] = ( 'Спецификация' );
    return $tabs;

}
 

ADv

Гуру
Местный
#10
Не работает, все время возвращает значение функции else
Подскажите, что не так сделал? В название категории пробовал писать ярлык - не помогло.

PHP:
add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98 );
function woo_rename_tabs( $tabs ) {
   
    if ( is_product_category ( 'Готовые комплекты' ) )
    $tabs['specification']['title'] = ( 'Содержимое комплекта' );
    else
    $tabs['specification']['title'] = ( 'Спецификация' );
    return $tabs;

}
Попробуйте указать слаг товарной категории либо ее ID.
 

quosenk

Новичок
#11
Попробуйте указать слаг товарной категории либо ее ID.
Пробовал и слаг и id - не помогает.
Пока что сделал привязку к кажому товару отдельно:
PHP:
is_single ( array ('1111', '2222', '3333')
Товаров немного, так что пока нормально, но если есть еще идеи как привязать название именно к категории товаров - буду очень признателен
 
Сверху Снизу