Статьи

Использование пользовательского интерфейса WordPress Custom Field

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

Сегодня я расскажу о пользовательском интерфейсе пользовательских полей.

Пользовательский интерфейс настраиваемых полей — это способ добавления настраиваемых полей или содержимого в настраиваемые поля в сообщение WordPress из редактора сообщений.

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

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

Под селектором имени находится кнопка «Добавить настраиваемое поле». Эта кнопка позволяет добавить новое поле, которое в будущем будет добавлено к селектору имени.

Поле значения — это место, где вы вводите содержимое для поля. Я рассмотрел получение данных из пользовательских полей в моей серии о работе с метаданными WordPress, которые вы можете прочитать для получения дополнительной информации. При получении данных из этих пользовательских полей с помощью get_post_meta() , «name» соответствует аргументу $meta_key get_post_meta() . Так, например, если вы добавите поле с именем «fruit» и для записи с идентификатором 853, вы установите значение «strawberry» get_post_meta( 853, 'fruit', true ); вернул бы «клубнику».

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

<?php echo get_post_meta( get_the_id(), 'fruits', true ); ?>

Вы можете хранить строки только в полях, созданных пользовательским интерфейсом пользовательских полей. Это не значит, что вы не можете хранить массивы информации. Для простых массивов вы можете хранить список значений, разделенных запятыми, в виде строки и при выводе использовать implode() чтобы превратить его в реальный массив.

Если в вашем поле есть список элементов, разделенных запятыми, вы можете превратить его в массив, используя implode() , например так:

1
2
3
4
5
6
7
8
9
<?php
//get meta value as string
$meta = get_post_meta( get_the_ID(), ‘fruits’ );
 
//remove spaces just in case
$meta = str_replace( ‘ ‘, », $meta );
 
//split strings into array on commas
$meta = implode( ‘,’, $meta );

implode() принимает два параметра, первый говорит нам, на что разбивать строки, а второй — тот, из которого нужно создать строку массива для создания массива. При установке первого параметра в виде запятой строка разделяется каждый раз, когда запятая появляется в новом индексе в массиве.

Не пропустите строку с str_replace() . Это используется для удаления любых пробелов, которые могли быть введены в поле в пользовательском интерфейсе.

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

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

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