/ Плагины / Сообщения woocommerce

Сообщения woocommerce

HIT

16.12.2016

7570

1

Сообщения woocommerce — система сопроводительной информации при использовании интернет-магазина. В системе есть 3 типа сообщений: информационные (notice), успешные действия (success), ошибки/предупреждения (error)

Стандартные сообщения

Это перечень стандартных сообщений разделенных по типам.

Информационные сообщения:

  • У вас есть купон? Нажмите здесь для введения кода (Оформление)
  • Товаров, соответствующих вашему запросу, не обнаружено. (Категория без товаров, Результат поиска)
  • Оформление заказа не доступно, пока ваша корзина пуста. (Оформление, переадрессация на пустую корзину)
  • Заказов ещё не создано. Перейти в магазин (Личный кабинет/Заказы)

Сообщения при успешных действиях

  • Корзина обновлена. (Корзина)
  • Вы отложили “Товар” в свою корзину. (Страница товара)
  • Товар удален. Отменить? (Страница товара, Архив)
  • Product correctly added to cart (Архив). Сообщение появляется при добавлении товара в корзину. Изначально данное уведомление не выводится. Начинает выводится если переместить уведомления в пользовательский хук, который идет раньше woocommerce (см. ниже)

Ошибки/предупреждения

  • К сожалению, у нас недостаточно «Наименование товара» для выполнения заказа (в наличии 3). Пожалуйста, измените свой заказ и попробуйте ещё раз. Приносим извинения за доставленные неудобства. (Корзина)
  • Вы не можете добавить это количество в корзину — у нас в наличии 3, у вас в корзине уже 3. (Страница товара)
  • Платёж Ваш телефон (название поля) является обязательным для заполнения полем. (Оформление)
  • Введите код купона, пожалуйста. (Корзина, Оформление)
  • Купона «123456» не существует! (Корзина, Оформление)
  • Жаль, но этот купон не может быть использован для товаров, которые находятся у вас в корзине. (Корзина, Оформление)
  • Этот товар не может быть куплен. (Категория)
  • Пожалуйста, укажите опции товара… (Категория)

Пользовательские сообщения

Создадим пользовательские сообщения. Как пример, сообщение появляется на странице Оформление товара.

// Информационное сообщение
add_action( 'woocommerce_before_checkout_form', 'skyverge_add_checkout_notice', 11 );
function skyverge_add_checkout_notice() {
	wc_print_notice( __( 'Сообщение уведомления вместо', 'woocommerce' ), 'notice' );
}

// Сообщение success
add_action( 'woocommerce_before_checkout_form', 'skyverge_add_checkout_success', 9 );
function skyverge_add_checkout_success() {
	wc_print_notice( __( 'Вы находитесь на странице оформления', 'woocommerce' ), 'success' );
}

// Сообщение предупреждение/ошибка
add_action( 'woocommerce_review_order_before_payment', 'skyverge_before_paying_notice' );
function skyverge_before_paying_notice() {
	wc_print_notice( __( 'Сообщение об ошибке', 'woocommerce' ), 'error' );
}

Условия появления сообщений

Сообщения на сайте появляются на определенных страницах при каких-либо условиях. Исследуем это.

function sp_custom_notice() {
$subtotal = WC()->cart->get_cart_subtotal();
$free_shipping_threshold = 5000;
if ( $subtotal < $free_shipping_threshold ) {
wc_add_notice( 'Сумма покупки больше 5000 руб. Бесплатная доставка!', 'notice' );
}
}

add_action( 'wp', 'sp_custom_notice' );

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

Отключить сообщения

В карточке товара и в архивах уведомления отключаются так:

remove_action( 'woocommerce_before_shop_loop', 'wc_print_notices', 10 ); remove_action( 'woocommerce_before_single_product', 'wc_print_notices', 10 );

Чтобы отключить уведомления в корзине, нужно в файле cart.php закомментировать строку wc_print_notices();
При этом, если закомментировать ту же строку в файле form-checkout.php для отключения сообщений на странице Оформления товара — это не сработает. Уведомления все равно выводятся.

Перенести (пока не знаю зачем это может пригодиться) уведомления в пользовательский хук «выше» вывода woocommerce

remove_action( 'woocommerce_before_shop_loop', 'wc_print_notices', 10 ); remove_action( 'woocommerce_before_single_product', 'wc_print_notices', 10 ); add_action( 'body-after', 'wc_print_notices', 10 ); add_action( 'body-after', 'wc_print_notices', 10 );

Сообщение «товар добавлен в корзину..»

Отключить это уведомление

// Удалить сообщение «Товар добавлен в корзину..»
add_filter( 'wc_add_to_cart_message_html', '__return_null' );

Редактировать его

add_filter( 'wc_add_to_cart_message_html', 'bbloomer_custom_add_to_cart_message' );
 
function bbloomer_custom_add_to_cart_message() {
$message = 'Nicely done!' ;
return $message;
}

Сообщение «товар удален. Вернуть?»

Отключить это сообщение

// Отключить уведомление о том что товар удален
function sw_delete_remove_product_notice(){
	$notices = WC()->session->get( 'wc_notices', array() );
	if(isset($notices['success'])){
		for($i = 0; $i < count($notices['success']); $i++){
			if (strpos($notices['success'][$i], __('removed','woocommerce')) !== false) {
				array_splice($notices['success'],$i,1);
			}
		}
		WC()->session->set( 'wc_notices', $notices['success'] );
	}
}

add_action( 'woocommerce_before_shop_loop', 'sw_delete_remove_product_notice', 5 );
add_action( 'woocommerce_shortcode_before_product_cat_loop', 'sw_delete_remove_product_notice', 5 );
add_action( 'woocommerce_before_single_product', 'sw_delete_remove_product_notice', 5 );

Поделиться в соц. сетях:

  • Похожие записи
  • Комментарии
  • Вложения
Вариативный товар

Вариативный товар

Вариативный товар — один из типов товаров плагина интернет-магазина Woocommerce. Суть вариативного товара в том, что мы создаем несколько вариантов исполнения одного товара (размер, цвет, емкость и т.д.), и в Читать далее »

Выравнивание миниатюр товаров

Выравнивание миниатюр товаров

Идеальная ситуация, когда мы загружаем изображения для товаров (хотя бы для главного изображения) квадратными. т.е. заранее подготовленными, откадрированными. Но бывают случаи, когда на сайт начинают заливаться изображения разных пропорций. Сделаем Читать далее »

/
Заявка на товар

Заявка на товар

Бывает так, что нам не нужно непосредственно продавать товар через сайт, а только лишь получить на него заявку. Данный механизм прост: нам нужно создать форму обратной связи в которую будет Читать далее »

/

Добавить комментарий

1 комментарий

  1. Аватар
    Алексей

    А как же удалить информационные сообщения на странице оформления заказа?

Сообщения woocommerce
Локализация скрипта
Рекомендации для васЛокализация скриптаOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.