Как создать и использовать настраиваемые поля WordPress
Опубликовано: 2020-04-23Одним из основных преимуществ WordPress является его универсальность, которая возможна благодаря встроенным функциям расширения. Среди различных формул расширения, которые он предлагает, мы находим настраиваемые поля :
В WordPress есть возможность разрешить авторам сообщений назначать пользовательские поля для сообщения. Эта произвольная дополнительная информация известна как метаданные .
Метаданные обрабатываются парами ключ/значение . Ключ — это имя элемента метаданных. Значение — это информация, которая будет отображаться в списке метаданных для каждой отдельной записи, с которой связана эта информация.
Документация WordPress.org
Например, если мы хотим создать метаданные о концепциях, связанных с моторным миром, у нас будут такие вещи, как:
- Марка : Форд
- Модель : Фокус
- Цвет : белый
- Мощность : 110 л.с.
- так далее
В сегодняшней статье я покажу вам, как создавать настраиваемые поля, как их использовать и как они могут помочь вам как пользователю и/или разработчику WordPress. Обратите внимание, что вам нужно иметь некоторое базовое представление о том, как кодировать в WordPress… но я надеюсь, что вы сможете легко следить за постом, особенно когда я покажу вам, как использовать замечательный плагин для работы с настраиваемыми полями: Расширенные настраиваемые поля.
Как работают настраиваемые поля WordPress
Лучший способ понять, что такое настраиваемые поля и как они работают, — взглянуть на базу данных WordPress. Как вы, возможно, уже знаете, каждый раз, когда вы создаете запись, страницу или (почти) любой другой тип контента в WordPress, этот новый контент сохраняется в таблице с именем wp_posts (префикс может меняться).
Таблицы в базе данных такие же, как и любые другие таблицы, с которыми вы ранее работали. По сути, у них есть набор столбцов, которые определяют, «что вы можете хранить», и строки с конкретной информацией. В случае wp_posts столбцами являются такие вещи, как заголовок , контент , автор , дата публикации и так далее. Ничего особенного, если честно:

wp_posts в базе данных WordPress.Одна из «проблем» использования таблиц заключается в том, что информация, которую вы можете хранить в них, ограничена имеющимися у них столбцами. Если вы хотите сохранить информацию о новой концепции, вы не сможете этого сделать. Итак, как вы можете создать настраиваемые поля, если таблица уже установлена? Ну, достаточно просто, вам просто нужен новый стол, предназначенный для этого.
В каждой базе данных WordPress есть еще одна таблица с именем wp_postmeta например:

wp_postmeta в базе данных WordPress. Как вы можете видеть на предыдущем снимке экрана, таблица метаданных устроена таким образом, что мы можем создавать пары ключ/значение, используя meta_key и meta_value и связывать каждую пару с определенным содержимым, используя столбец post_id . Достаточно легко!
Итак, давайте подробнее рассмотрим, как мы можем работать с этой таблицей!
Как создать новое настраиваемое поле
Как мы уже видели, настраиваемые поля всегда связаны с конкретным постом. Следовательно, вы ожидаете, что в редакторе будет какой-то пользовательский интерфейс для их редактирования, верно? К сожалению, если вы посмотрите на Гутенберга, там нет…
Чтобы редактировать настраиваемые поля в редакторе WordPress, вам необходимо включить расширенную панель. Просто щелкните верхний правый значок в редакторе, а затем нажмите « Параметры »:

Откроется новое окно с различными панелями, доступными в Гутенберге. Найдите одно из настраиваемых полей и включите его:

После включения вы можете легко создавать и редактировать настраиваемые поля вашего сообщения:

Этот простой интерфейс позволяет нам создавать столько пар ключ/значение, сколько мы хотим. Например, на снимке экрана выше вы видите, как я добавил некоторые поля, представленные в начале этого поста: nelio_brand , nelio_model , nelio_color и nelio_hp .

Как использовать настраиваемое поле
Чтобы использовать настраиваемое поле, вам нужны три вещи: (а) идентификатор сообщения, (б) имя поля, которое вы хотите использовать, и (в) решение, где вы хотите его использовать. Например, предположим, что я хочу отобразить поле nelio_brand , которое мы создали в приведенном выше примере, в конце сообщения. Чтобы получить его значение, есть функция с именем get_post_meta , которую мы можем использовать следующим образом:
function nelio_add_brand_field( $content ) { $brand = get_post_meta( get_the_ID(), 'nelio_brand', true ); return "{$content}\n<p><strong>Brand:<strong> {$brand}</p>"; } add_filter( 'the_content', 'nelio_add_brand_field' );Обратите внимание, что в предыдущем примере мы обращаемся к трем вещам, о которых я упоминал ранее:
- Первый параметр
get_post_meta— это именно идентификатор интересующего меня поста. В этом случае мы используемget_the_ID(), который возвращает идентификатор текущего поста. - Второй параметр — это имя нашего метаполя (в данном случае
nelio_brand). - Наконец, мы используем метаполе во внешнем интерфейсе, как то, что мы хотим показать в самом конце содержимого поста. И вы можете сказать, потому что я получаю и использую его во время фильтра
the_content.
Результат этого действия похож на то, что вы можете увидеть на следующем снимке экрана:

Но это только пример, конечно! Вы можете использовать настраиваемые поля разными способами, кроме «печати чего-либо во внешнем интерфейсе». Например, Nelio A/B Testing — один из созданных нами плагинов, предназначенный для проведения сплит-тестов на сайте WordPress. A/B-тест требует создания альтернативного контента, и наш плагин использует настраиваемые поля для обозначения альтернативного контента как такового и ограничивает, как и когда этот контент доступен посетителю.
Функции WordPress для управления настраиваемыми полями
Точно так же, как у нас есть метод для получения значения настраиваемого поля ( get_post_meta ), в WordPress есть дополнительные методы для программного создания, обновления и удаления настраиваемых полей: add_post_meta , update_post_meta и delete_post_meta . Эти функции работают так, как вы ожидаете, поэтому я не буду беспокоить вас дополнительными пояснениями…
Что такое и как использовать расширенные настраиваемые поля
Теперь, когда вы знаете, как работают настраиваемые поля в WordPress, думаю, я уже могу сообщить вам хорошие новости: есть несколько плагинов, которые значительно упрощают процесс работы с настраиваемыми полями!
Расширенные настраиваемые поля — один из самых известных и популярных плагинов для создания метаданных на сайте WordPress. С его помощью вы не только сможете более простым способом определять настраиваемые поля, но также сможете пользоваться улучшенным пользовательским интерфейсом для работы с этими полями. Этот интерфейс гарантирует, что значения, которые вы устанавливаете, имеют смысл и семантически значимы: даты, изображения, галереи, диапазоны, числа... что угодно!

Если вы хотите узнать больше о ACF, существует множество ресурсов. Но я думаю, что это выступление Джо Минни действительно может помочь вам начать:
Надеемся, что это небольшое введение в настраиваемые поля поможет вам стать лучшим разработчиком WordPress!
Избранное изображение Полины Рытовой на Unsplash.
