Работает, большое спасибо!

я есть страница оформления заказа, где я хочу:

Удалить выбранные значения атрибута продукта из элемента заголовка варианта продукта.Удалить количество из названия элемента тоже.Отобразите другое значение атрибута продукта, например размер, цвет и количество, в разных строках для этого элемента варианта продукта.

Я хочу отобразить на моей странице оформления заказа:

Спортивные шорты Aria (название продукта)

Цвет: Пыльный Розовый

Размер: Небольшой

КОЛ-ВО: 1

Вместо этого:

Является ли это возможным? С чего мне начать это делать?

 Ivan Barayev19 нояб. 2017 г., 14:59
Пожалуйста, добавьте свои коды!

Ответы на вопрос(1)

Решение Вопроса

ОБНОВЛЕНО

1) Начиная с WooCommerce 3+, чтобы удалить значения атрибутов из названия варианта продукта и отобразить их в отдельной строке, потребуется использовать эти 2 выделенных простых хука (на странице оформления заказа).

Удаление значений атрибута из заголовка варианта продукта:
add_filter( 'woocommerce_product_variation_title_include_attributes', 'variation_title_not_include_attributes' );
function variation_title_not_include_attributes( $boolean ){
    if ( ! is_cart() )
        $boolean = false;
    return $boolean;
}
Отобразите метку и значения атрибутов варианта продукта в отдельных строках:
add_filter( 'woocommerce_is_attribute_in_product_name', 'remove_attribute_in_product_name' );
function remove_attribute_in_product_name( $boolean){
    if ( ! is_cart() )
        $boolean = false;
    return $boolean;
}

2) Страница оформления заказа - удалите количество из названия продукта и добавьте его обратно в отдельную строку.

Удалить количество из названия продукта:
add_filter( 'woocommerce_checkout_cart_item_quantity', 'remove_product_variation_qty_from_title', 10, 3 );
function remove_product_variation_qty_from_title( $quantity_html, $cart_item, $cart_item_key ){
    if ( $cart_item['data']->is_type('variation') && is_checkout() )
        $quantity_html = '';

    return $quantity_html;
}
Добавьте обратно количество товара в отдельной строке:
add_filter( 'woocommerce_get_item_data', 'filter_get_item_data', 10, 2 );
function filter_get_item_data( $item_data, $cart_item ) {

    if ( $cart_item['data']->is_type('variation') && is_checkout() )
        $item_data[] = array(
            'key'      => __('QTY'),
            'display'  => $cart_item['quantity']
        );

    return $item_data;
}

Код помещается в файл function.php вашей активной дочерней темы (или темы), а также в любой файл плагина.

Протестировано в Woocommerce версии 3+ и работает.Возможно, вам следует внести некоторые изменения в стиль ...

 Jens19 нояб. 2017 г., 19:41
Спасибо! Я почти заставляю его работать. Но когда я использую Удалить количество из названия продукта, я получаю фатальную ошибку ... Все остальные фрагменты работают. Я думаю, что есть какой-то CSS, чтобы получить его прямо на миниатюре продукта?
 LoicTheAztec20 нояб. 2017 г., 19:47
@Jens Обновил код… попробуйте еще раз
 Jens22 нояб. 2017 г., 15:28
Работает, большое спасибо!

Ваш ответ на вопрос