Можно играть
22.04.20

Показываем / не показываем блоки из админки WordPress

Показываем / не показываем блоки из админки WordPress

Доброго времени, дорогие читатели моего блога! Сегодня познакомлю вас с такой фишкой как скрытия, отключения какого-либо блока непосредственно из самой админки cms WordPress.

Для чего это

Скрытие блоков может понадобится к примеру, на тех же лендингах, когда нам, нужно скрыть карту, таймер или какую-то контактную информацию, которая на данный момент не актуальна.

А если вы разрабатываете интернет магазин, то у одного товара может быть блок с определенными характеристиками, а у другого его нет или он вовсе другой. Вот для этого как раз и осуществлен самими разработчиками такой функционал в своих дополнениях.

2 плагина

Методов как это реализовать есть несколько, но я буду использовать, наверное, самый популярный, а это при помощи плагина от известных разработчиков — ACF - Advanced Custom Fields. Конечно, есть еще одно не менее функциональное решение — Carbon Fields, но это уже не для «маленьких».

Установка

Показываем блоки WordPress

Первым делом скачиваем плагин – ACF из самой админки WordPress, бесплатной версии вполне достаточно. Далее, нам нужно создать «группу полей» и указать где ее отображать. В примере, я буду выводить внизу поста 2 заголовка h1 для наглядности.

Группы полей

В этом плагине можно пойти «двумя путями». Первый это создать ТИП поля Да / Нет (или true/false), а второй – создать поле Переключатель (radio).

Первое поле — «Да / Нет»

Поле переключатель

Особо оно в настройках не нуждается, стоит только указать название, имя (уникальное) и поставить чекбокс если поле должно быть выбрано по умолчанию.


Читайте также:


Поле «Переключатель (radio)»

Так же, как и с предыдущем, указываем те же данные, только добавляем еще и Варианты. Каждый вариант с новой строки и с уникальным именем. Формат или пример указан левее от самого поля.

Переключатель radio

Этот вариант хорош тем, что можно, как раз, показывать разные блоки, для разных страниц, путем выбора нужного какого-то одного. То есть получаем некую выборку.

Вывод полей

Следом, там, где нужно показать или скрыть какой-то код добавляем php вывод этих самых полей. Если готовый html уже есть, то просто оборачиваем его этими функциями.

/* Выводим поле «Да / Нет»
  =================================== /*

// "hiddenn" - имя поля
<?php if( get_field('hiddenn') ): ?>
   <div><h1 style="color: red;">Какой то блок 1</h1></div>
<?php endif; ?>
                                
                                
/* Выводим поле «Переключатель (radio)»
  =================================== /*

<?php 
   // Если выбран "вариант" "visibl"
   if( get_field('hidd') == 'visibl' ) {
      echo '<div><h1 style="color: blue;">Какой то блок 2</h1></div>';
   }                            
?>
                                
<?php
   // Если выбран "вариант" "hidde"
   if( get_field('hidd') == 'hidde' ) {
      echo '<div><h1 style="color: black;">Какой то блок 3</h1></div>';
   }                            
?>

Админка

После всего проделанного, в моем примере, в каждой из записей внизу появятся необходимые настройки. Чекбокс и радио выбраны изначально, а это значит, что html блоки будут отображаться на сайте по умолчанию.

Админка с настройками

Как вам такое решение? Я считаю, что лучше, практичнее и быстрее по осуществлению, просто не найти. А там кто его знает, все работают «по-своему».

До встречи, с вами был Дмитрий!