Настроить добавить в корзину сообщение в Woocommerce 3 - PullRequest
0 голосов
/ 18 декабря 2018

Я хотел бы изменить, чтобы "[имя продукта]" было добавлено в вашу корзину ", чтобы сказать, что" x товар (ов) был / был добавлен в вашу корзину ".

В этой теме объясняется, как редактировать сообщение о добавлении в корзину, но я не могу найти информацию о переменных, которые можно использовать.

Как я могу показать количество добавленных товаров, а не название?

1 Ответ

0 голосов
/ 18 декабря 2018

Начиная с Woocommerce 3, хук фильтра wc_add_to_cart_message устарел и теперь заменяется на wc_add_to_cart_message_html

Аргументы переменных, используемых в функции: два:

  • $message - это выдаваемое строковое сообщение
  • $products, которое является индексированным массивом, содержащим пары идентификатор продукта / количество (ключ / значение) .

Чтобы изменить значение по умолчанию "{qty} x {product-name} было добавлено (ve) в вашу корзину" сообщение на:

{qty} товар (ов) был / добавлен в вашу корзину.

Вы будете использовать следующее:

add_filter( 'wc_add_to_cart_message_html', 'custom_add_to_cart_message_html', 10, 2 );
function custom_add_to_cart_message_html( $message, $products ) {
    $count = 0;
    foreach ( $products as $product_id => $qty ) {
        $count += $qty;
    }
    // The custom message is just below
    $added_text = sprintf( _n("%s item has %s", "%s items have %s", $count, "woocommerce" ),
        $count, __("been added to your basket.", "woocommerce") );

    // Output success messages
    if ( 'yes' === get_option( 'woocommerce_cart_redirect_after_add' ) ) {
        $return_to = apply_filters( 'woocommerce_continue_shopping_redirect', wc_get_raw_referer() ? wp_validate_redirect( wc_get_raw_referer(), false ) : wc_get_page_permalink( 'shop' ) );
        $message   = sprintf( '<a href="%s" class="button wc-forward">%s</a> %s', esc_url( $return_to ), esc_html__( 'Continue shopping', 'woocommerce' ), esc_html( $added_text ) );
    } else {
        $message   = sprintf( '<a href="%s" class="button wc-forward">%s</a> %s', esc_url( wc_get_page_permalink( 'cart' ) ), esc_html__( 'View cart', 'woocommerce' ), esc_html( $added_text ) );
    }
    return $message;
}

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

enter image description here

enter image description here

...