Измените уведомление «Вы не можете добавить другой продукт в корзину» в Woocommerce - PullRequest
2 голосов
/ 26 марта 2019

Я не могу найти способ изменить сообщение по умолчанию в Woocommerce, когда вы пытаетесь добавить другой продукт в корзину, помеченный как индивидуально проданный.

Я обнаружил, что при добавлении товаров в корзину вы редактируете сообщение об успехе по умолчанию:

add_filter ( 'wc_add_to_cart_message', 'wc_add_to_cart_message_filter', 10, 2 );
function wc_add_to_cart_message_filter($message, $product_id = null) {
    $titles[] = get_the_title( $product_id );

    $titles = array_filter( $titles );
    $added_text = sprintf( _n( '%s has been added to your cart.', '%s have been added to your cart.', sizeof( $titles ), 'woocommerce' ), wc_format_list_of_items( $titles ) );

    $message = sprintf( '%s <a href="%s" class="button">%s</a>&nbsp;<a href="%s" class="button">%s</a>',
                    esc_html( $added_text ),
                    esc_url( wc_get_page_permalink( 'checkout' ) ),
                    esc_html__( 'Checkout', 'woocommerce' ),
                    esc_url( wc_get_page_permalink( 'cart' ) ),
                    esc_html__( 'View Cart', 'woocommerce' ));

    return $message;
}

1 Ответ

1 голос
/ 26 марта 2019

Вы можете использовать gettext фильтр-хук, чтобы изменить это уведомление, расположенное в WC_Cart add_to_cart() метод :

add_filter(  'gettext',  'change_specific_add_to_cart_notice', 10, 3 );
add_filter(  'ngettext',  'change_specific_add_to_cart_notice', 10, 3 );
function change_specific_add_to_cart_notice( $translated, $text, $domain  ) {
    if( $text === 'You cannot add another "%s" to your cart.' && $domain === 'woocommerce' && ! is_admin() ){
        // Replacement text (where "%s" is the dynamic product name)
        $translated = __( 'It is not possible to add again "%s"', $domain );
    }
    return $translated;
}

Код входит в файл function.php вашего активногодетская тема (или активная тема).Проверено и работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...