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

Скрыть некоторые атрибуты в карточке товара

breeze

Новичок
Здравствуйте.
Вопрос вкратце как скрыть выбор некоторых атрибутов в карточке товаров.

Если расписывать более полно то есть например атрибут производитель (атрибуты я использую чтобы для фильтров) в карточке товара он отображается как одна из опций для выбора, как сделать чтобы атрибут производитель не отображался на карточке товара?
 

ADv

Гуру
Местный
Здравствуйте.
Вопрос вкратце как скрыть выбор некоторых атрибутов в карточке товаров.

Если расписывать более полно то есть например атрибут производитель (атрибуты я использую чтобы для фильтров) в карточке товара он отображается как одна из опций для выбора, как сделать чтобы атрибут производитель не отображался на карточке товара?
Попробуйте так
PHP:
function devise_hide_attributes_from_additional_info_tabs( $attributes, $product ) {
    $hidden_attributes = [
        'pa_network',
        'pa_merchant',
        'pa_brand',
    ];
    foreach ( $hidden_attributes as $hidden_attribute ) {
        if ( ! isset( $attributes[ $hidden_attribute ] ) ) {
            continue;
        }
        $attribute = $attributes[ $hidden_attribute ];
        $attribute->set_visible( false );
    }
    return $attributes;
}
add_filter( 'woocommerce_product_get_attributes', 'devise_hide_attributes_from_additional_info_tabs', 20, 2 );
где
'pa_network',
'pa_merchant',
'pa_brand',


массив атрибутов, которые нужно скрыть
 

breeze

Новичок
Спасибо за ответ. Вопрос 'pa_network', 'pa_merchant', 'pa_brand', это то что называется "слаг" атрибута? Например я создаю атрибут в названии пишу бренд товара, потом в поле слаг добавляю "brand", потом добавляю код в function.php и смотрю на результат?
 

ADv

Гуру
Местный
Спасибо за ответ. Вопрос 'pa_network', 'pa_merchant', 'pa_brand', это то что называется "слаг" атрибута? Например я создаю атрибут в названии пишу бренд товара, потом в поле слаг добавляю "brand", потом добавляю код в function.php и смотрю на результат?
Слагом будет в данном случае network +merchant + brand , т.к. префикс pa_ (product attribute) добавляется самим Woo.
Т.е. если у Вас слаг color, то в массив нужно будет написать pa_color
 

breeze

Новичок
К сожалению не сработало как отображался пункт выбрать опцию так и висит.
 

rewon

Новичок
Попробуйте так
PHP:
function devise_hide_attributes_from_additional_info_tabs( $attributes, $product ) {
    $hidden_attributes = [
        'pa_network',
        'pa_merchant',
        'pa_brand',
    ];
    foreach ( $hidden_attributes as $hidden_attribute ) {
        if ( ! isset( $attributes[ $hidden_attribute ] ) ) {
            continue;
        }
        $attribute = $attributes[ $hidden_attribute ];
        $attribute->set_visible( false );
    }
    return $attributes;
}
add_filter( 'woocommerce_product_get_attributes', 'devise_hide_attributes_from_additional_info_tabs', 20, 2 );
где
'pa_network',
'pa_merchant',
'pa_brand',


массив атрибутов, которые нужно скрыть
Спасибо, все работает! Мне помогло.
 
Сверху Снизу