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

Опубликовано: 2022-01-20

Вы хотите создать настраиваемое поле WordPress программно ? Если да, у нас есть идеальное руководство для вас с еще несколькими дополнительными опциями.

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

Что такое настраиваемые поля?

Настраиваемое поле прикрепляется к сообщению или странице и хранит дополнительную информацию , которая будет использоваться для веб-сайта. Это также может быть связано с любым типом сообщений. Таким образом, он может собирать информацию, связанную с продуктами, комментариями или даже пользовательскими типами сообщений.

Они хранятся в базе данных вашего сайта WordPress в таблице wp_postmeta . Он содержит параметры meta_id, post_id, meta_key и meta_value.

база данных wordpress создает настраиваемые поля программно

Кроме того, вы также можете хранить любые данные в пользовательском поле. Их могут использовать даже внешние и внутренние пользователи, а также некоторые другие PHP-скрипты.

Зачем создавать настраиваемое поле в WordPress?

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

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

Но вот еще несколько примеров, где можно использовать настраиваемое поле:

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

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

Теперь, когда вы знакомы с важностью настраиваемых полей в WordPress, давайте посмотрим, как мы можем их добавить.

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

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

Просто нажмите «Добавить настраиваемое поле» и введите имя и значение, чтобы создать настраиваемое поле вручную.

Но если вы здесь, значит, вы наверняка ищете способ создать настраиваемое поле WordPress программным путем. Итак, давайте продолжим и погрузимся в это.

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

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

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

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

1. Доступ к файлу темы functions.php

После создания дочерней темы вы можете начать добавлять фрагменты кода в файл темы function.php для создания настраиваемых полей. Просто перейдите в « Внешний вид» > «Редактор тем» и откройте файл functions.php на панели управления WordPress. Затем добавьте фрагменты кода внизу этого редактора и обновите файл .

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

Мы использовали тему Divi для этого урока. Но редактор темы может выглядеть по-разному на вашем сайте в зависимости от используемой вами темы.

2. Добавьте фрагменты кода в редактор тем

Мы будем использовать функцию add_post_meta() . Он принимает три параметра: идентификатор поста или страницы, имя пользовательского поля и его значение. Четвертый необязательный параметр можно использовать для проверки существования настраиваемого поля.

Таким образом, добавить настраиваемое поле так же просто, как добавить следующую строку в файл function.php дочерней темы.

 add_post_meta(460, "custom_field_name", "value",true);

Это добавит настраиваемое поле к сообщению с идентификатором 460.

Для этой демонстрации мы назвали настраиваемое поле просто «custom_field_name». Но вы также можете назначить строку в качестве значения (значения) и установить необязательный параметр в значение true, чтобы создать его, только если он еще не существует.

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

К счастью, мы можем улучшить его намного больше, чтобы получить приемлемое решение. publish_post() будет очень полезен в этом случае, потому что он срабатывает только при публикации сообщения .

 add_action('publish_post', 'add_custom_field_automatically');

функция add_custom_field_automatically($post_ID) {

если(!wp_is_post_revision($post_ID)) {

add_post_meta($post_ID, 'meta_field', '55', правда);
}
}

Поскольку мы используем глобальную переменную $post_ID , это будет применяться ко всем недавно опубликованным сообщениям .

Обновите произвольное поле в WordPress

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

Чтобы обновить настраиваемое поле, можно использовать функцию update_post_meta() . Мы также будем использовать тот же хук, что и в предыдущем скрипте, так как он работает и при обновлении поста. Просто добавьте следующий фрагмент кода в файл functions.php вашего веб-сайта.

 add_action('publish_post', 'update_custom_field_automatically');

функция update_custom_field_automatically($post_ID) {

если(!wp_is_post_revision($post_ID)) {

update_post_meta($post_ID, 'meta_field', 20);

}

}

Это изменит значение ранее созданного настраиваемого поля с 55 на 20.

Функция update_post_meta() также работает как add_post_meta() . Он может создать новое настраиваемое поле, если оно не существует.

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

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

Функция, которая позволит нам удалить все настраиваемые поля с заданным именем (ключом), — это delete_post_meta_by_key(”meta_field”); Он принимает только имя настраиваемого поля в качестве своего уникального параметра.

Как мы уже говорили, правильный способ сделать это — использовать хук. На этот раз мы воспользуемся хуком init() , который в основном используется для инициализации плагинов и тем. Снова добавьте следующие фрагменты в файл functions.php.

 add_action('init', 'remove_custom_field_automatically');

функция remove_custom_field_automatically() {

delete_post_meta_by_key('meta_field');

}

Чтобы удалить настраиваемые поля в определенных сообщениях, вы можете использовать delete_post_meta() . Его также можно использовать, если пользовательскому полю присвоено определенное значение.

Этот фрагмент работает аналогично предыдущему фрагменту. Но он обеспечивает большую гибкость для удаления определенных настраиваемых полей .

 add_action('publish_post', 'delete_custom_field_automatically');

функция delete_custom_field_automatically($post_ID) {

если(!wp_is_post_revision($post_ID)) {

delete_post_meta($post_ID, 'meta_field');

}

}

Этот скрипт удалит пользовательское поле с именем «custom_field» текущего поста, которое задается переменной $post_ID .

Вы также можете удалить настраиваемое поле, только если к нему прикреплено определенное значение. Просто добавьте его в качестве третьего параметра.

delete_post_meta($post_ID, 'meta_field','20');

Вот и все! Теперь вы можете программно создавать, обновлять или удалять настраиваемые поля в WordPress. Просто измените эти фрагменты в соответствии с вашим веб-сайтом, и вы сможете изменить их еще больше.

Вывод

Это наш учебник по программному созданию настраиваемого поля в WordPress . Они могут быть очень полезны, если вы хотите предоставить своим пользователям дополнительную информацию о вашем веб-сайте.

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

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

  • Как создать пользовательский тип записи WordPress
  • Настроить страницу входа в WordPress
  • Как настроить сопутствующие товары WooCommerce

Итак, теперь вы можете программно создавать настраиваемые поля в WordPress? Вы создавали их раньше? Дайте нам знать в комментариях.