Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

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

Тема в разделе "Вопросы, советы и доработки.", создана пользователем Xam, 24 июл 2016.

  1. Xam

    Xam

    Сообщения:
    25
    Симпатии:
    4
    Баллы:
    3
    Добрый день, это опять я со своими вопросами)

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

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    552
    Баллы:
    113
    Перевод выводом проверяйте по slug-у категории.
    PHP:
    is_product_category'slug' )
     
    • Нравится Нравится x 1
  3. Xam

    Xam

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

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    552
    Баллы:
    113
    Н-р, нужно вывести блок только на странице категории http://ИмяСайта/category/noutbuki-i-kompyutery/, т.е. в категории со slug = 'noutbuki-i-kompyutery'.
    Тогда код для вывода будет таким :
    PHP:
    if (is_product_category'noutbuki-i-kompyutery' )) {
                        echo 
    "Я нахожусь в категории noutbuki-i-kompyutery";
                        echo 
    "вывод моего блока";
                    }
     
    • Нравится Нравится x 1
  5. Xam

    Xam

    Сообщения:
    25
    Симпатии:
    4
    Баллы:
    3
    блин что-то все равно не выходит, опять же категорий где необходимо отображение данного поля порядком больше, чем категорий где не надо выводить + ко всему у меня категории как и домен на кириллице (дабы урлы для глаза не портить) может из-за этого?
    Может есть какой-то способ чтобы отключить поле в той категории где не нужен вывод??
     
  6. Xam

    Xam

    Сообщения:
    25
    Симпатии:
    4
    Баллы:
    3
    Проблема была решена данным методом. Теперь разметка не выводиться в тех категориях где кастомное поле не заполнено.
    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 большущая благодарность за возню и помощь!
     
    • Нравится Нравится x 1
  7. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    552
    Баллы:
    113
    Небольшие замечания по условным функциям (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";
                    }
     
    • Нравится Нравится x 1