Произвольные поля в WordPress: Советы, трюки и хаки. Часть 1

В этой статье собрано пошаговое руководство по Произвольным полям в WordPress.

Материал будет очень полезен для начинающих и продвинутых разработчиков WordPress. Мы постарались собрать самые полезные вещи, с помощью которых, можно расширить функционал этой знаменитой CMS.

Что такое Произвольные поля в WordPress?

Произвольные поля это некая форма мета-данных, которая позволяет хранить любую текстовую информацию для каждой записи WordPress. Каждое поле представлено парой имя/значение. Имя — это то как мы будем идентифицировать то или иное произвольное поле, а значение — то, что это поле содержит. Вся мощь такого функционала в том, что вы можете указывать любые текстовые имена и значения и получать доступ ко множеству полей, лишь зная имя. Также плюс в том, что определенные поля вы можете использовать в определенных темах.

Теперь давайте посмотрим на рабочий пример работы Произвольных полей. Когда вы редактируете запись, внизу редактора вы видите раздел Произвольные поля. Если вы немного прокрутите вниз, то увидите подраздел Добавить новое поле. Мы добавим поле с именем “Today’s Mood”, а затем значение для него Happy, Sad, Excited и т.д.

Custom Fields to display the Mood

После того, как вы добавите это поле и сохраните запись, то в базе данных появится дополнительная информация, связанная с этой записью. И теперь вы можете использовать это поле в вашей теме.

Например, вы хотите отображать, какое у вас настроение в статье блога. Для этого вам нужно открыть файл single.php и добавить следующий код внутрь цикла WordPress:

В результате отобразится следующее:
Today’s Mood: Happy

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

Для того, чтобы отобразить поле с определенным именем просто вставьте следующую строку в single.php в цикл записи:

Примечание: не забудьте заменить key на ваше имя поля.

А что, если у вас есть произвольные имена с одинаковыми именами, но с разными значениями. Например, имя поля будет ‘songs’, а значения — названия разных песен. Для этого вставьте в цикл записи следующий код:

Вся фишка в третьем параметре, у нас он равен “false”. Изменяя его на false, вы говорите функции, что надо возвращать массив значений для определенного ключа. Это очень полезный трюк для отображения множественных значений ключа.
Источник: Jeff Starr at Perishable

Расширенные возможности произвольных полей

Вы, наверное, будете удивлены, но большинство плагинов используют произвольные поля в своих целях. Так почему же вы не видите их при редактировании статьи? Дело в том, что плагины специально скрывают такие поля от глаз пользователя, потому как их заполнение вручную очень трудоемко. Чаще всего для облегчения управления такими полями к плагинам идут соответствующие интерфейсы.

Если вы разработчик тем, плагинов или дизайна для WordPress, то вам будет интересно, как скрывать поля от глаз редакторов. Все что нужно сделать, это добавить символ подчеркивания ‘_’ перед именем поля. Имя станет таким “_wpbeginner-trending”, а значит его значение можно будет получить через пользовательский интерфейс или через код. И так, если вы хотите добавить поле в вашей теме или плагине, то нужно прописать следующий код:

Обратите внимание, что подчеркивание нужно для того, чтобы поле оставалось скрытым для прямого редактирования пользователем. Часто, когда вы имеете дело с клиентами, которые технически не очень сильно подкованы, дополнительные интерфейсы будут необходимы, как воздух. И это очень важно, особенно, когда в вашей теме или плагине присутствует много настроек, как в примере ниже:

Custom Write Panel for WordPress Custom Fields

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

Как спрятать произвольные поля от ваших пользователей

Откройте ваш файл functions.php и добавьте следующие строки:

Читайте продолжение...


3 комментарий на “Произвольные поля в WordPress: Советы, трюки и хаки. Часть 1

  1. Лабуда! такова в интернете пруд пруди! лутше бы написал как добавить права пользователей на произвольное поле!

Оставить комментарий