Как создать и использовать настраиваемые поля WordPress

Опубликовано: 2020-04-23

Одним из основных преимуществ WordPress является его универсальность, которая возможна благодаря встроенным функциям расширения. Среди различных формул расширения, которые он предлагает, мы находим настраиваемые поля :

В WordPress есть возможность разрешить авторам сообщений назначать пользовательские поля для сообщения. Эта произвольная дополнительная информация известна как метаданные .

Метаданные обрабатываются парами ключ/значение . Ключ — это имя элемента метаданных. Значение — это информация, которая будет отображаться в списке метаданных для каждой отдельной записи, с которой связана эта информация.

Документация WordPress.org

Например, если мы хотим создать метаданные о концепциях, связанных с моторным миром, у нас будут такие вещи, как:

  • Марка : Форд
  • Модель : Фокус
  • Цвет : белый
  • Мощность : 110 л.с.
  • так далее

В сегодняшней статье я покажу вам, как создавать настраиваемые поля, как их использовать и как они могут помочь вам как пользователю и/или разработчику WordPress. Обратите внимание, что вам нужно иметь некоторое базовое представление о том, как кодировать в WordPress… но я надеюсь, что вы сможете легко следить за постом, особенно когда я покажу вам, как использовать замечательный плагин для работы с настраиваемыми полями: Расширенные настраиваемые поля.

Как работают настраиваемые поля WordPress

Лучший способ понять, что такое настраиваемые поля и как они работают, — взглянуть на базу данных WordPress. Как вы, возможно, уже знаете, каждый раз, когда вы создаете запись, страницу или (почти) любой другой тип контента в WordPress, этот новый контент сохраняется в таблице с именем wp_posts (префикс может меняться).

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

wp_posts в базе данных WordPress.
wp_posts в базе данных WordPress.

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

В каждой базе данных WordPress есть еще одна таблица с именем wp_postmeta например:

wp_postmeta в базе данных WordPress.
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. С его помощью вы не только сможете более простым способом определять настраиваемые поля, но также сможете пользоваться улучшенным пользовательским интерфейсом для работы с этими полями. Этот интерфейс гарантирует, что значения, которые вы устанавливаете, имеют смысл и семантически значимы: даты, изображения, галереи, диапазоны, числа... что угодно!

Скриншот плагина Advanced Custom Fields
Скриншот плагина Advanced Custom Fields.

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

Надеемся, что это небольшое введение в настраиваемые поля поможет вам стать лучшим разработчиком WordPress!

Избранное изображение Полины Рытовой на Unsplash.