Руководство по условиям в WooCommerce

Руководство по условиям в WooCommerce

Как выводить информацию только по определённому условию? Например, добавить на страницу товара ссылку на таблицу размеров обуви только в категории «Обувь»? Для этого используются условия.

Основные теги перечислены списке тегов условий WooCommerce и тегов условий WordPress на официальных сайтах. В этой статье рассмотрим создание условий на примерах.

Как использовать условия

Допустим у вас есть фрагмент кода, который выводит произвольный текст на странице товара.

add_action( 'woocommerce_before_single_product', 'bbloomer_echo_text' ); 
 
function bbloomer_echo_text() { 
   echo 'Произвольный текст'; 
}

Если требуется выводить этот текст только в определённом товаре, например с ID 25 — нужно обернуть этот код в условие:

add_action( 'woocommerce_before_single_product', 'bbloomer_echo_text' );
 
function bbloomer_echo_text() {
   global $product;
   if ( 25 === $product->get_id() ) {
      echo 'Произвольный текст';
   }
}

1. Условия для страницы товара

WordPress знает, что страницы товара являются «постами». Поэтому можно использовать is_single. Список хуков для страницы товара можно найти, например на сайте WooCommerce Visual Hook Guide.


Хуки WooCommerce: страница товара. Источник — WooCommerce Visual Hook Guide

PHP: условие вывода для всех товаров

add_action( 'woocommerce_before_main_content', 'bbloomer_single_product_pages' );
 
function bbloomer_single_product_pages() {

	if ( is_product() ) {
		echo 'Произвольный текст';
		}
	else {
		echo 'Другой произвольный текст';
	}
}


Вывод условия на страницах всех товаров

PHP: условие вывода по ID товара

add_action( 'woocommerce_before_single_product_summary', 'bbloomer_single_product_ID' );
 
function bbloomer_single_product_ID() {
 
	if ( is_single( '84' ) ) {
		echo 'Условие для рюкзака Wenger';
	} 
	elseif ( is_single( '56' ) ) {		
		echo 'Другое условие';
	}
}

PHP: условие вывода для товаров отдельной категории

PHP: условие вывода по Метке товара

PHP: условие вывода для товаров со скидкой

PHP: условие вывода для простых товаров, вариативных, сгруппированных или внешних/партнёрских

PHP: условие вывода для виртуальных товаров

PHP: условие вывода для скачиваемых товаров

PHP: условие вывода для похожих товаров

2. Условия для страниц со списком товаров

Страницы со списком товаров — это страница магазина, страницы категорий, атрибутов и меток.
Некоторые условия работают также на странице товара.

PHP: условие вывода на странице магазина

PHP: условие вывода для всех категорий

PHP: условие вывода для отдельной категории

PHP: условие вывода по названию категории

PHP: условие вывода на страницах меток

PHP: условие вывода по имени метки

3. Условия для страниц WooCommerce

PHP: условие вывода на страницах WooCommerce, кроме корзины и оформления заказа

PHP: условия вывода на страницах корзины или оформления заказа

4. Условие для страниц корзины и оформления заказа

PHP: условие вывода, если в корзине есть товар с определённым ID