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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Как выводить информацию только по определённому условию? Например, добавить на страницу товара ссылку на таблицу размеров обуви только в категории «Обувь»? Для этого используются условия.

Основные теги перечислены списке тегов условий 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: условие вывода по названию категории

`if( is_product_category() ) {
pass
}`

`if( is_product_category( 'shapki' ) ) {
// в категории товаров с ID = 5
}`

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

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

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

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

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

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

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

Поделиться
Отправить
Вотсапнуть