/ Сайтостроение / Плагины / Сообщения woocommerce

Сообщения woocommerce

HIT

16.12.2016

3953

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

Хуки для woocommerce

Здесь собраны наиболее востребованные хуки woocommerce, которые могут пригодится при настройке любого интернет-магазина. С другими полезными хуками можно ознакомиться здесь Необходимые части кода вставляем в файл functions (лучше использовать отдельный Читать далее »

/
Быстрый просмотр товара

Быстрый просмотр товара

Продолжаем серию обзоров плагинов различного назначения для Woocommerce. В этот раз посмотрим на различные решения связанные с быстрым просмотром товара — Quick View. YITH WooCommerce Quick View (60 000) Плагин Читать далее »

/
Настройка доставки

Настройка доставки

Настройка доставки в woocommerce 2.6 кардинальным образом изменилась. Стала более гибкой, но и более сложной в настройке. Разберемся в тонкостях настройки доставки. Зоны доставки Зоны доставки — это определенная территория Читать далее »

/

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

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

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

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

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