Использование WordPress в качестве сайта для ввода данных для управления центральным API
АВТОР СООБЩЕНИЯ
ПРОЧИТАНО ПО ТЕМЕ
Кэти Котин (Katie Koteen)
WordPress.com Сотрудники
Одной из областей, в которой WordPress выделяется, является управление контентом. Это также подтверждается тем фактом, что WordPress является ведущей в мире системой управления контентом, или CMS, по количеству пользователей.
Самый популярный способ отображения контента, размещенного на WordPress, – это интерфейс, например, сообщения в блогах и страницы. Это замечательно для обычных посетителей, но есть и другие способы использования этого контента – например, веб-API.
В этой статье мы рассмотрим, как мы можем использовать WordPress для создания центрального API для таких проектов, как приложения для телефонов, расширения для браузера или интерфейсы других сайтов WordPress!
Далее
Все шаги, описанные в этой статье, были выполнены в WordPress Playground. Если вы хотите увидеть конечный результат и, возможно, иногда пропускать его по ходу дела, выполните следующие действия:
- Посещать
- Восстановите сайт из ZIP-файла
- Войдите в админ-зону
Что такое web API?
API расшифровывается как интерфейс прикладного программирования и представляет собой стандартизированный способ взаимодействия программных приложений друг с другом. Веб-API – это просто интерфейс, доступ к которому осуществляется через “Интернет”, например, путем ввода определенного URL-адреса в вашем веб-браузере.
Существует несколько типов веб-API, и одним из распространенных способов их объединения является используемый ими протокол. В этой статье мы рассмотрим реализацию двух API, один из которых основан на протоколе REST, а другой – на протоколе GraphQL. Возможно, вы слышали и о других протоколах, таких как SOAP, RPC или gRPC.
На самом деле WordPress включает в себя эти функции. С октября 2024 года стал каноническим плагином, который также открывает путь для официального GraphQL API.
Какие данные мы будем моделировать
К концу этой статьи мы создадим сайт на WordPress, который позволит пользователям входить в систему, чтобы добавлять / обновлять / удалять записи данных, которые будут доступны для запроса как через REST-маршруты, так и через конечную точку GraphQL.
Вводимые данные в совокупности будут представлять организационную структуру компании – такие элементы, как сотрудники, команды и офисы. Несмотря на то, что эти концепции немного упрощены, их можно применять абсолютно ко всему остальному.
Необязательно: сократите внешний интерфейс
Это необязательный шаг, но имеет смысл сделать его, если ваш сайт не будет предоставлять какой-либо контент через страницы, а исключительно через API.
Вы можете начать с установки минималистичной темы WordPress, например, и удаления всех демонстрационных сообщений и страниц на вашем сайте. Продолжайте использовать редактор сайта, чтобы разместить на главной странице информацию для посетителей, которые случайно ее найдут.
Например, добавьте название и логотип вашей компании и скажите им, что они, вероятно, попали туда по ошибке. Вы также можете добавить кнопку, связывающую с административной областью для тех, кто следит за контентом. Что-то вроде:
Один из способов предотвратить попадание вашего сайта в результаты поиска – установить флажок Препятствовать индексации этого сайта поисковыми системами .
Если вы предпочитаете полностью перекрыть frontend и даже не имеют описанных выше стартовой, вы можете добавить следующий фрагмент кода либо плагин или functions.php файл:
/$p676570a4b5d56 * Отключает интерфейс для пользователей, не вошедших в систему. */add_action(`template_redirect`,статическая функция (): void {$authorization_required_code = WP_Http::НЕАВТОРИЗОВАННЫЙ; // 401if ( ! is_user_logged_in() ) {status_header( $authorization_required_code );die( get_status_header_desc( $authorization_required_code ) ); // phpcs:игнорировать WordPress.Безопасность.EscapeOutput.OutputNotEscaped}}
Пользовательские типы записей и таксономии
Теперь пришло время сосредоточиться на области администрирования веб-сайта и части этого руководства, посвященной моделированию данных. Самый простой способ разделить ваши данные на части – это использовать встроенную в WordPress функциональность пользовательских типов записей и пользовательских таксономий.
Хотя существует множество способов сделать это, для целей этого руководства мы организуем наши данные следующим образом:
- Пользовательский тип записи для
сотрудника
- Пользовательская таксономия для
команды
- Пользовательский тип записи для
офиса
Чтобы создать эти пользовательские типы данных, вы можете либо добавить пользовательский код на свой сайт, либо использовать плагин ().