• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Решено Отключить блок в определенной категории woo?

Image CMS

Xam

Новичок
#1
Добрый день, это опять я со своими вопросами)

Суть такова: Создал поле через ACF, вывел его под изображением товара путем добавления строчки
<div class= "sposob_zavarki"><?php if($zavarka=get_field("zavarka")){echo $zavarka;}?> </div>
в файл product-image.php, если конкретно это поле выводит способ заваривания чая, все хорошо, все успешно, но вот беда это поле естественно отображается и в других не относящихся к чаю категориях (такие как чайные аксессуары).
Как с помощью функции или чего-либо еще исходя из ID категории убрать/запретить вывод данного произвольного поля?
Заранее как всегда большущая благодарочка!)
 

Xam

Новичок
#3
Извиняюсь за тупку, но что-то не пойму как именно проверить эту категорию по slug-у, не могли бы пример написать :oops::rolleyes:если не сложно конечно. Спасибо за помощь
 

searchingman

Гуру
Местный
#4
Н-р, нужно вывести блок только на странице категории http://ИмяСайта/category/noutbuki-i-kompyutery/, т.е. в категории со slug = 'noutbuki-i-kompyutery'.
Тогда код для вывода будет таким :
PHP:
if (is_product_category( 'noutbuki-i-kompyutery' )) {
                    echo "Я нахожусь в категории noutbuki-i-kompyutery";
                    echo "вывод моего блока";
                }
 

Xam

Новичок
#5
блин что-то все равно не выходит, опять же категорий где необходимо отображение данного поля порядком больше, чем категорий где не надо выводить + ко всему у меня категории как и домен на кириллице (дабы урлы для глаза не портить) может из-за этого?
Может есть какой-то способ чтобы отключить поле в той категории где не нужен вывод??
 

Xam

Новичок
#6
Проблема была решена данным методом. Теперь разметка не выводиться в тех категориях где кастомное поле не заполнено.
PHP:
<?php if(get_field("zavarka")) { ?>
<div class= "sposob_varki">
<div class= "sposob_varki1"><h3><center>СПОСОБ ЗАВАРИВАНИЯ</center></h3></div>
   <?php the_field("zavarka");?>
</div>
<?php } ?>
searchingman большущая благодарность за возню и помощь!
 

searchingman

Гуру
Местный
#7
Небольшие замечания по условным функциям (is_product_category(), is_product_tag()).
Согласно официальной документации от Woo, в качестве параметра(ов) передаются массив слегов, т.е.
PHP:
is_product_category( array( 'shirts', 'games' ) )
Но могут возникать "проблемы" с кириллическими слегами, н-р, "мужская-одежда".
В данные функции, кроме слегов, можно передавать массив ID категорий. Пример,
PHP:
if (is_product_category( array(17,18) )) {
                    echo "Мы внутри категорий с ID = 17,18";
                }
Идентификаторы категорий можно узнать в административной части при редактировании категории. (см.скриншот).
Если нужно показать блок на всех страницах категорий, кроме указанных в массиве, то используем код с ! (НЕ)
PHP:
if (! is_product_category( array(17,18) )) {
                    echo "Мы НЕ внутри категорий с ID = 17,18";
                }
 

buben90

Новичок
#8
Подскажите пожалуйста, хочу вывести блок с текстом в товары находящихся определенной категории. Добавляю следующие
<?php
if ( is_product_category('categor_name') ) {
echo "Я нахожусь в категории categor_name";
echo "вывод моего блока";
}
?>
И не работает, подскажите пожалуйста что не так .?
 

ADv

Гуру
Местный
#9
Подскажите пожалуйста, хочу вывести блок с текстом в товары находящихся определенной категории. Добавляю следующие
<?php
if ( is_product_category('categor_name') ) {
echo "Я нахожусь в категории categor_name";
echo "вывод моего блока";
}
?>
И не работает, подскажите пожалуйста что не так .?
Куда добавляете? Если это полный код и добавляется в functions.php, то ничего и не выведется.
Если же в файл шаблона вставляете, то куда конкретно?
 
Сверху Снизу