Как в WordPress просто создать пользовательские поля
В системе WordPress существуют служебные поля, с помощью которых мы можем публиковать сообщения и страницы. Например «Редактор содержимого», «Опции категории», «Метки» и «Характерное изображение».
Однако иногда этих полей нам недостаточно. Допустим, вы создаете сайт «Каталог книг», на котором хотите отображать автора книги, номер ISBN и издателя. Вам понадобится несколько дополнительных полей для ввода дополнительной информации.
К счастью, на сегодняшний день WordPress это довольно мощная система, предоставляющая разработчикам возможность создавать пользовательские поля, которые будут отвечать любым вашим потребностям.
Эти пользовательские поля могут представлять собой стандартную форму для ввода текста, текстовую область, выпадающие опции, форму выбора цвета, календарь и даже форму для загрузки изображений.
В этой статье я покажу вам, как в WordPress просто создавать пользовательские поля. Давайте начнем.
Дополнительные пользовательские поля
В качестве реального примера давайте попробуем создать сайт каталога книг. Чтобы просто создавать наши собственные поля, мы будем использовать плагин Advanced Custom Fields Эллиота Кондона.
С его помощью нам не придется слишком глубоко копаться в коде. Тем не менее, некоторое редактирование кода на уровне файлов темы потребуется.
После того, как мы установили плагин, в панели администрирования появится новое боковое меню Custom Fields. Заходим в это меню, нажимаем кнопку Add New и задаем название группе полей.
Например, «Custom Settings»:

Чтобы создать новое поле нажимаем кнопку + Add Field, и даем название метке поля Author. Ниже задаем название поля, просто book_author, его мы будем использовать, чтобы вызывать или отображать данные об авторе книги.
Вы также можете задать описание поля и замещающий текст, но это не обязательно:

После этого мы можем создать набор других полей, таких как «Объем книги», «Издатель», «Язык произведения» и т.д:

Далее нам необходимо назначить группу поля для его отображения в определенном типе записей. Вы можете назначить ее для записей, страниц, шаблонов страниц, вложений или создать правило, которое будет включать сразу несколько типов записей.
В нашем примере я хотел бы, чтобы эти поля отображались в записях типа «Страница книги». Этот тип записей вы можете создать сами с помощью удобного инструмента GenerateWP:
После этого мы можем переходить в панель редактирования записи типа «Книга» и заполнять поля:

Вывод данных
Так как мы назначили новые поля для сообщения пользовательского типа, то прежде чем продолжить, мы должны создать новый файл для отображения его содержимого - single-book.php (ознакомьтесь с информацией, размещенной по этой ссылке).
В этом файле нам также нужно будет разместить новый код.
После того, как все пользовательские поля будут заполнены, нам нужно будет вывести их ниже поля названия с помощью функции the_field().
Например, данный код выводит данные поля «Автор книги», которое мы создали ранее:
the_field('book_author')
Это не сложно. Кроме того, если вы хотите, чтобы данное поле выводилось, даже если в него не внесены данные, вы можете заключить код в оператор условия.
Например:
if( !emptyempty(the_field('book_author')) ) :
the_field('book_author');
endif;
Ниже приведены все коды, которые содержит файл single-book.php для вывода информации о книге:
<div class="entry-content">
<div class="book-info">
<h3 class="book-title"></h3>
<h4 class="book-details-title">Описание книги</h4>
<div class="book-details">
<ul>
<li class="book-author"><span class="label">Автор:</span> </li>
<li class="book-pub"><span class="label">Издательство:</span> </li>
<li class="book-pages"><span class="label">Объем</span> </li>
<li class="book-lang"><span class="label">Язык:</span> </li>
<li class="book-pubid"><span class="label">ISBN/ASIN:</span> </li>
</ul>
</div>
</div>
</div>
Немного поколдовав с CSS, мы можем достичь того, чтобы наша страница выглядела красиво и аккуратно:

Заключение
В этом уроке я показал вам очень простой пример использования плагина дополнительных пользовательских полей для создания собственного набора новых текстовых полей и назначения их для вывода в сообщениях пользовательского типа.
Кроме того, этот плагин предоставляет ряд настраиваемых полей для повышения качества вашего сайта. В том числе: «WYSIWYG редактор», «Текстовое поле», «Выпадающее меню», «Опции списка пользователей», «Google Maps» и многое другое.
Вы можете поэкспериментировать с плагином и посмотреть, что еще крутое вы сможете придумать.