Как пользоваться Advanced Custom Fields
![Как пользоваться Advanced Custom Fields](/images/articles/soft_wordpress_acf.jpg)
Название WordPress плагина Advanced Custom Fields переводится как – расширенные произвольные поля. Скажем по простому, что этот плагин существенно расширяет возможности уже встроенных в WordPress произвольных полей – Custom Fields. В дальнейшем я буду использовать сокращенное название плагина – ACF.
Кому будет полезен ACF?
Плагин ACF имеет один очень существенный недостаток, без базовых знаний по PHP, будет сложно править шаблоны темы, да и знания по HTML/CSS, так же окажутся не лишними. Получается, что пользоваться плагином новичку будет трудно.
ACF отлично подходит для профессиональной веб-разработки, зачастую запросы и пожелания клиентов выходят за рамки стандартного функционала WordPress-а.
Кроме того, когда вы делаете сайт на заказ на CMS, клиент в идеале должен получить, весь контент полностью редактируемый из админки и без возможности случайно затереть код. Что я имею ввиду? Приведу простой пример использования дополнительного текстового поля в записи блога.
Легенда
Заказчик ведет блог кинорецензий, в низу каждой записи с рецензией, он хочет выводить список с оценками фильма, например как здесь, не обращаем внимание на оформление.
![Как пользоваться Advanced Custom Fields?](/images/articles/soft_wordpress_acf_01.jpg)
Вы скажите: "Да не вопрос, я и без плагина справлюсь!" ОК, посмотрим.
Вывод списка без плагина
Откроем запись со статьей в окне редактирования и пропишем теги маркированных списков с оценками.
![Как пользоваться Advanced Custom Fields?](/images/articles/soft_wordpress_acf_02.jpg)
А что не нравится, выглядит нормально, осталось только задать стили.
![Как пользоваться Advanced Custom Fields?](/images/articles/soft_wordpress_acf_03.jpg)
Можно было бы не заморачиваться с плагином, в случае если вы делаете блог для себя. Но, мне трудно представить, что заказчик, прописывая текст между тегами, случайно их не затрет. Нет, дорогой разработчик, так не пойдет. Давайте теперь посмотрим, как мы сделали бы, то же самое, но с плагином и почему этот вариант, заказчику должен понравиться больше.
Вывод списка с плагином ACF
Сайт плагина: https://www.advancedcustomfields.com
На странице с документацией, выберите Field Types -> Text. Работать мы будем с текстовым типом поля. Самое важное вы увидите внизу – это PHP код вставки в шаблон, но мы позже к этому вернемся. А сейчас давайте вместе создадим произвольное текстовое поле к записи с рецензией.
- Создаём новую группу с названием "Оценки рецензий", куда мы позже добавим поля.
- Задаем условие, где должны появиться поля (записи, страницы).
![Как пользоваться Advanced Custom Fields?](/images/articles/soft_wordpress_acf_04.jpg)
- Ниже в настройках, выберите местоположение группы полей для редактирования в админке.
![Как пользоваться Advanced Custom Fields?](/images/articles/soft_wordpress_acf_05.jpg)
- Нажмите на кнопку +Добавить поле.
- Заполните поле, как на скриншоте, имя поля (rate) обязательно латиницей.
![Как пользоваться Advanced Custom Fields?](/images/articles/soft_wordpress_acf_06.jpg)
- Продублируйте поля столько раз, сколько надо, каждый раз давая имени поля уникальное имя.
- Перейдите в админку, откройте любую запись и внизу под записью вы увидите, только что созданные произвольные поля.
![Как пользоваться Advanced Custom Fields?](/images/articles/soft_wordpress_acf_07.jpg)
Собственно ради этой панели редактирования, мы и ставили плагин. Теперь довольный клиент может безопасно редактировать и создавать новые дополнительные поля, не касаясь никаких HTML тегов.
Вывод произвольных полей в шаблоне
До этого момента все было просто, но наши замечательные поля мы видим только в админке. Как же вывести их на сайт? Вернемся на сайт Documentation -> Field Types -> Text, там вы увидите PHP код для вставки в шаблон (Template usage).
<h2><?php the_field('text'); ?></h2>
the_fields – базовая функция WordPress-а, которая выводит значение из текстового поля всех постов с аргументом text. У нас будут свои названия аргументов и HTML теги тоже другие.
<ul>
<li><?php the_field('rate'); ?></li>
<li><?php the_field('rate_2'); ?></li>
</ul>
Теперь надо определиться с шаблоном, куда вставлять код. Поскольку мы имеем дело с контентом, выводимом в цикле, то и вставлять следует в файл content.php, текущей темы. Я для примера использую дефолтную тему Twenty Seventeen. Вставьте код перед закрывающим тегом div с классом entry-content.
![Как пользоваться Advanced Custom Fields?](/images/articles/soft_wordpress_acf_08.jpg)
Визуально, на сайте, вы увидите такие же списки, как и в первом варианте без плагина. Вся разница только в удобстве редактирования контента для клиента.
-
-
Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.