Как добавить настраиваемые поля в пользовательский интерфейс администратора и ответ REST API?


Я новичок в пользовательской разработке WordPress и изучаю, как использовать конечные точки REST API для отображения содержимого публикации на не-WordPress сайт интранет компании. Я успешно смог использовать стандартные данные post в своей концепции разработки, которая представляет собой список книг, перечисленных по названию и дате.

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

Я пытаюсь сопоставить свой контент с WP, и у меня есть пользовательские поля по умолчанию, которые мне нужно добавить, такие как: Автор книги, Дата публикации, Редактор, Издатель, Страна и т.д.

Мои основные вопросы...

Как мне ввести эти обязательные пользовательские поля в пользовательский интерфейс администратора WP в качестве обязательных полей для заполнения моими пользователями?

Будет ли пользовательский интерфейс пользовательского сообщения плагин также автоматически добавляет эти настраиваемые поля в объект REST JSON?

Спасибо за любые рекомендации и/или примеры, которые вы можете предоставить!

Author: redshift, 2017-06-15

1 answers

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

Сначала вам нужно создать свой собственный тип публикации и убедиться, что URL-адреса выглядят так, как вы хотите. Это может потребовать некоторых экспериментов. Вы можете сделать это в вашем собственном плагине - это довольно простой код, если вы умеете немного работать на PHP - вместо того, чтобы полагаться на пользовательский плагин пользовательского интерфейса типа Post. Или просто придерживайтесь плагина, если это удобнее.

Затем с помощью ACF (и вам, вероятно, понадобится платная версия Pro, но сначала вы можете попробовать бесплатную) вы настроите то, что они называют группой полей - вы перечисляете все необходимые поля, такие как автор, редактор и т. Д. и т. Д., И вы можете выбрать, какой тип данных принимать. Для "даты публикации" вы мог бы использовать средство выбора даты. Для "автора" вы могли бы сделать текстовое поле, или вы могли бы сделать полный редактор WYSIWYG, если вы хотите также иметь возможность включать фотографию автора, ссылки на их веб-сайт и т.д. Затем вы определяете, где WP будет отображать поля ввода - в вашем случае, когда тип записи равен "книга". Вы также можете попросить его отключить обычный редактор, чтобы при редактировании записи "книга" вы видели только свои пользовательские поля.

Вашим последним шагом будет предоставление этих полей в API REST. Нет, по умолчанию эти поля недоступны, но если вы используете ACF, есть бесплатный плагин ACF для REST API, который предоставит все, что вы создадите, REST API по мере необходимости.

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

 2
Author: WebElaine, 2017-06-15 15:06:47