Введение в WordPress REST API
Опубликовано: 2022-10-19В декабре 2016 года, с выпуском WordPress 4.7, наступила давно обсуждаемая веха: WordPress REST API был официально включен в состав WordPress Core.
Хотя REST API существовал как плагин до официального слияния с ядром, его последующее включение вызвало немало споров, причем приводились аргументы как в пользу его включения, так и в пользу необходимости дальнейшего тестирования.
В конечном итоге REST API был объединен с Core и теперь поддерживает редактор блоков, а также множество сторонних интеграций и интерфейсов с сайтами WordPress в Интернете.
Однако для многих пользователей WordPress это был первый раз, когда они слышали о REST API любого рода, не говоря уже о том, что он так тесно интегрирован в WordPress.
Итак, в этой статье мы рассмотрим, что такое REST API, в чем уникальность WordPress REST API, а также несколько примеров того, как он работает, и некоторые виды технологий, которые доступны теперь, когда он включен в WordPress. Основной.
Что такое REST API?
Термин REST API на самом деле представляет собой две аббревиатуры в одной, и обе важны для понимания того, как работает WordPress REST API и что он делает.
Что такое ОТДЫХ?
Первая часть, REST, означает передачу репрезентативного состояния. Проще говоря, это спецификация, которая определяет, как два отдельных ресурса в Интернете должны взаимодействовать друг с другом. Этими двумя интерфейсами могут быть два разных веб-сайта, веб-сервер, мобильное приложение и многое другое.
Службу, соответствующую этой спецификации, часто называют службой RESTful, и она гарантирует, что клиент, запрашивающий информацию, не должен ничего знать о состоянии сервера и о том, как клиент и сервер могут быть более модульными и отдельными, чем с другими. методы передачи данных через Интернет.
По сути, если разработчик знает, что он взаимодействует со службой RESTful, он может сделать определенные предположения о том, как будут форматироваться его запросы и какие данные они получат в ответ, что очень полезно при разработке взаимосвязанных технологий.
Если вы хотите углубиться в то, что именно составляет службу RESTful и как выполняются эти типы запросов, я настоятельно рекомендую ознакомиться с рецензией Codecademy под названием «Что такое REST?».
Что такое API?
API означает интерфейс прикладного программирования и, как следует из названия, предоставляет интерфейс для других клиентов и служб в Интернете для взаимодействия с конкретным приложением. Он указывает конечные точки, обычно URL-адреса, куда могут быть отправлены данные, возвращают ли эти URL-адреса какие-либо данные или создают ресурсы на сервере, и требуется ли какой-либо конкретный тип аутентификации для доступа к этим конечным точкам.
Для многих популярных сегодня веб-сервисов API-интерфейсы предоставляют автоматизированный способ делать то, что пользователь может сделать вручную, позволяя сценарию или фрагменту кода выполнять те же действия в присутствии пользователя. Например, если вы используете Reddit и обнаруживаете, что пишете одинаковые комментарии во многих темах, которые вы просматриваете, вы можете создать скрипт, который ищет в Reddit такие типы комментариев и автоматически публикует ваш стандартный ответ через API Reddit.
Предоставляя доступ к своей инфраструктуре через API, пользователям не нужно полагаться на ненадежные методы веб-скрапинга для автоматизации такого рода задач, а Reddit может отслеживать, кто обращается к их ресурсам через их API, как часто они это делают, и контролировать за использование, выходящее за рамки их условий обслуживания.
Зачем WordPress нужен REST API?
Если вы когда-либо делали API-подобные запросы к WordPress до того, как REST API стал частью Core, возможно, вы знакомы с концепцией admin-ajax. Это был оригинальный способ выполнения подобных запросов в WordPress, где каждый запрос направлялся через файл admin-ajax.php, проверялся на наличие каких-либо конкретных действий, зарегистрированных разработчиками любых активных плагинов или тем, а затем использовал эти зарегистрированные функции для выполнять просьбы.
Как и следовало ожидать, это означало, что каждый разработчик, который использовал API-подобные запросы, включал эту функцию как часть своего плагина или темы, делал это немного по-разному, и любой, кто хотел взаимодействовать с этой функциональностью, должен был ознакомиться с тем, как работает каждый плагин или тема. построен. WordPress REST API был представлен для того, чтобы стандартизировать способ выполнения этих запросов и предоставить гораздо более широкий набор конечных точек, которые можно было бы использовать для взаимодействия с самим WordPress Core.
Пример запроса к WordPress REST API
Руководство WordPress REST API поддерживает полный список конечных точек, которые поддерживаются в WordPress REST API из коробки. И хотя это здорово иметь полный список, он может быть немного ошеломляющим. Давайте взглянем на то, что можно считать самой базовой функциональностью любого взаимодействия с API: получение основного ресурса API. В случае WordPress этот ресурс публикуется.

Все конечные точки WordPress REST API имеют префикс URL-пути wp-json
между корневым доменом и тем, что в Руководстве по REST API называется Base Route
. Это означает, что если мы обращаемся к конечной точке для просмотра сообщений сайта, а URL-адрес нашего сайта — example.com
, нам нужно будет сделать запрос к URL-адресу https://example.com/wp-json/wp/v2/posts
. https://example.com/wp-json/wp/v2/posts
.
Выполнение запроса GET, либо путем простой загрузки этого URL-адреса в ваш любимый веб-браузер, либо с помощью браузера API, такого как Postman, должно вернуть вам список сообщений из API, хотя они могут быть не в том формате, который вы используете. к. Если все, что вы видите, — это одна длинная строка текста, вы смотрите на формат данных, известный как JSON. Если вы получаете доступ к конечной точке API через браузер и хотите просмотреть эту информацию в более читаемом формате, я бы рекомендовал установить расширение JSON Viewer. Это обнаружит любой вывод в вашем браузере, который является JSON, и отформатирует его, чтобы вам было легче его прочитать. Установив это, вы должны увидеть выходные данные публикации из WordPress REST API, и вы успешно сделали свой первый запрос REST API!

Что еще может сделать WordPress REST API?
Помимо получения списка последних сообщений на сайте WordPress, взглянув на Endpoint Reference, вы увидите, что существует множество других способов взаимодействия с WordPress REST API. Если вы аутентифицированы как пользователь WordPress, вы можете публиковать сообщения через API, получать список тем, доступных для сайта, просматривать и редактировать настройки, а также многие другие функции, с которыми можно взаимодействовать вручную через wp-admin. .
Некоторые примеры WordPress REST API в действии

Предоставление возможности взаимодействовать с WordPress через REST API открыло широкий спектр возможностей для сайтов, которые теперь могли использовать WordPress в качестве серверной части для управления контентом.
TechCrunch : Вскоре после того, как было объявлено о WordPress REST API, TechCrunch объявил, что он перестроил свой сайт с использованием безголовой архитектуры, что означало, что они использовали WordPress на серверной части в качестве системы управления контентом, при этом по-прежнему имея возможность использовать «одностраничный интерфейс». стиль приложения React» на интерфейсе.
Редактор блоков (Гутенберг) . Возможно, использование REST API, от которого выиграло большинство людей, — это редактор блоков WordPress. Теперь основной редактор в WordPress, большая часть функциональности редактора блоков обеспечивается тем фактом, что он может взаимодействовать с конечными точками WordPress REST API без
Всевозможные общественные проекты . Когда REST API впервые рассматривался для слияния с ядром, был проведен публичный призыв к людям рассказать больше о том, как они используют REST API. Ответы были очень широкими, чего можно ожидать от такого большого сообщества, как WordPress, но включали все, от плагинов с более интерактивными интерфейсами, чем это было возможно ранее, до людей, создающих мобильные приложения для своих клиентов, которые могли использовать контент WordPress.
Подведение итогов
Даже если у вас нет опыта использования API, вы, вероятно, в какой-то момент своей карьеры использовали что-то, что зависит от WordPress REST API для работы. Поскольку интерфейсы становятся все более динамичными, а на веб-сайтах появляется больше действий, не требующих загрузки страницы.
Теперь, когда вы знаете, что такое WordPress REST API, вы можете подумать о некоторых вещах, которые вы можете создать с его помощью! REST API определенно может стать мощным инструментом в вашем наборе инструментов для создания еще лучших тем и плагинов WordPress.
Если вам нужно немного больше пояснений или несколько примеров того, что возможно, взгляните на документы и сразу приступайте!