Плагин Advanced Custom Fields
Доброго времени суток. В одной из статьей «Пользовательские поля WordPress» мы рассмотрели, как стандартными методами WordPress добавить дополнительные поля к публикации. Метод хорош для добавления простого текстового поля. Но если мы хотим добавить более сложный тип поля, то этот способ уже не подходит. И тут нам на помощь приходит замечательный плагин Advanced Custom Fields.
Установка плагина проходит по стандартной схеме: или вы скачиваете плагин с официального сайта, или через установку плагинов в админке вашего сайта.
После установки и активации плагина в списке плагинов мы видим:
Отлично.
Давайте немного подготовимся:
- Создадим одну рубрику – Рубрика-1
- И добавим три записи (две записи будут относится к «Рубрика-1», а одна к «Без рубрики»
Должно получиться что-то похожее
Создание дополнительного поля в WordPress.
Теперь переходим в меню «Произвольные поля»
И попадаем на страницу со списком групп полей.
Первый плюс данного плагина: Мы можем группировать поля.
Давайте создадим новую группу. Для этого жмем «Добавить новую»
Теперь давайте зададим название для нашей группы. Я назвал «Для рубрики 1»
Второй плюс данного плагина: мы можем на группу полей наложить фильтр
Т.е. я задал, чтобы моя группа показывалась, только записей из «Рубрика-1».
Если вы перейдете в создание новой записи, то вы не увидите поля из данной группы, пока не укажите, что запись относится к «Рубрика-1».
Теперь давайте создадим поле, например, цена. Для этого жмем «Добавить поле».
- Ярлык поля – это название поля, которое будет отображаться в админке.
- Имя поля – это название поля, по которому мы можем обращаться к полю, например, для получения его значения.
- Тип поля – тут все понятно.
- Инструкция к полю – это текст-подсказка, который будет выводиться в админке рядом с полем.
- Обязательно – тут все понятно
- Значение по умолчанию – тут тоже все понятно
Есть и другие опции.
После добавления поля жмем «Опубликовать».
Теперь, если перейдем к редактированию записи, то увидим дополнительное поле «Цена».
И обратите внимание, что наша запись относится к «Рубрика-1», если данная запись не будет относится к «Рубрика-1», то поле «Цена» мы не увидим.
Теперь, если перейдем на сайт, то дополнительное поле мы не увидим, т.к. вывод его мы не добавили в шаблон. Давайте поправим это.
Добавление вывода кастомного поля в шаблон.
Для того, чтобы вывести поле необходимо использовать функцию
the_field($field_name, $post_id, $format_value),
где:
- $field_name – (обязательное) название поля.
- $post_id – (не обязательное) ID поста
- $format_value – (не обязательное) булевое значение, применять ли форматирование. По умолчанию true
Откроем файл, отвечающий за отображение постов в редакторе и добавим функцию:
the_field('price');
Теперь давайте посмотрим, что получилось:
Цена отобразилась.
Данный плагин поддерживает еще множество функций (удаление значения поля или изменения и др.), с которыми вы можете познакомиться на официальной странице
Заключение.
Мы с вами установили плагин для WordPress Advanced Custom Fields, который позволяет добавлять кастомные поля для публикаций WordPress. Мы с вами создали группу для полей, затем добавили поле, наложили фильтр (данное поле отображается, только для определенных постов) и вывели отображение поля в шаблоне.