Пропустить

Использование HTTP API WordPress

Divi: самая простая тема WordPress для использования

Divi: Лучшая тема WordPress всех времен!

Более Загрузка 600.000, Divi - самая популярная тема WordPress в мире. Он является полным, простым в использовании и поставляется с более чем бесплатными шаблонами 62. [Рекомендуется]

API REST становятся все более и более популярными среди разработчиков, поскольку они являются средством связи между их приложениями и веб-службами, такими как Twitter, MailChimp или GitHub. ПрибытиеREST API WordPress доступны через плагин (но запланировано в ядре на декабрь), предлагает хорошую возможность изучить HTTP API, который уже существует в WordPress. В этом уроке я объясню, что такое HTTP API WordPress, и покажу, как его использовать.

HTTP API

HTTP API WordPress - это способ передачи сообщений по протоколу HTTP, из приложения веб-службы или другого сайта в WordPress и наоборот. Чтобы попасть на эту страницу, ваш браузер должен сделать HTTP-запрос к серверам BlogPasCher. Они ответили, вернув ответ, содержащий то, что вы видите прямо сейчас. API-интерфейс WordPress REST теперь позволяет ему участвовать в такого рода системе запросов / ответов, позволяющей разделить GUI и ядро ​​платформы. Но чтобы воспользоваться этим, вам нужно научиться использовать HTTP-API WordPress, который предлагает набор методов и утилит для отправки HTTP-запросов.

HTTP методы и ресурсы

Протокол HTTP сосредоточен вокруг методов и ресурсов. Ресурсы определяют, над чем вы хотите произвести действие, и методы, которые вы хотите выполнить. На практике ресурсы - это URL-адреса объектов в Интернете (например, эта статья). На стороне метода, есть ряд из которых наиболее важными являются:

ПОЛУЧИТЬ : восстановить ресурс
POST : создать ресурс
ПОЛОЖИЛ Чтобы изменить ресурс
УДАЛИТЬ Чтобы удалить ресурс

Пример запроса с HTTP API

Чтобы намекнуть, давайте посмотрим, как отправить простой запрос с помощью HTTP API. Мы будем использовать функцию wp_remote_get запросить сервер Google и получить домашнюю страницу. Эта функция принимает два параметра, первый из которых является ресурсом, а второй - список параметров для указания деталей. Без дальнейших церемоний, давайте действовать.

$ Test = wp_remote_get ( 'http://google.com'); эхо "<до>"; var_dump ($ тест); эхо "</ пред>";

возвращение wp_remote_get содержится в переменной $ тести представляет содержание домашней страницы, которую Google возвратил в результате нашего запроса. Линия var_dump ($ тест); позволяет видеть элементы, возвращенные в ответе.

раздел Заголовки содержит дополнительную информацию о сообщениях. Некоторым API REST потребуется отправлять конкретную информацию в запросах, адресованных им.

раздел ответ содержит код состояния и описание ответа. Возможно, вы уже слышали об ошибке 404 для не найденных страниц, об ошибках сервера 501 или перенаправлении 301 и 302. Эти цифры являются кодами ошибок. На сайте W3.org есть список всех коды ошибок HTTP и описание.

Легко создайте свой сайт с Elementor

Elementor позволяет легко создать любой дизайн сайта с профессиональным дизайном. Прекратите платить дорого за то, что вы можете сделать сами. [Free]

раздел тело содержит сам ответ, и где вы должны будете смотреть, когда все идет хорошо. В этом примере мы получаем некоторый HTML-код домашней страницы Google. API REST очень часто возвращают ответы в формате JSON. Некоторые API, как мы увидим, потребуют от вас включения строки в раздел body вашего запроса.

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

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

Запрос API-интерфейсы

Понятно, что большинство из вас будет использовать HTTP API для взаимодействия с REST API. Вам нужно будет использовать второй параметр функции wp_remote_get чтобы уточнить некоторые вещи, подтвердить подлинность, уточнить свои результаты и т. д. Давайте начнем с простого примера, такого как извлечение булавок со стены Pinterest. Любой уважающий себя API требует аутентификации, но об этом мы поговорим здесь генерирование токена доступа (токен доступа) Код!

Вы ищете лучшие темы и плагины WordPress?

Загрузите лучшие плагины и темы WordPress на Envato и легко создайте свой сайт. Уже больше, чем 49.720.000. [ЭКСКЛЮЗИВ]

$ request = wp_remote_get ('https://api.pinterest.com/v1/boards/ <board-id> / home-office / pins /? access_token = <your-access-token>'); $ pins = json_decode ($ request ['body'], true); if (! empty ($ pins ['data'])) {echo '<ul>'; foreach ($ pins ['data'] в качестве $ pin) {echo '<li> <a href="'.png_'rl'].'">'. контактный $ [ 'примечание']. '</a> </ li>'; } echo '</ ul>'; }

Обязательно замените на первой строке <ID доска> путем идентификации стены Pinterest <Your-доступ лексема> по токену доступа вы генерируете себя. Ответ в JSON, поэтому вторая строка декодирует его. Сосны содержатся в $ Pines [ 'данные']Итак, мы проходим через это и помещаем булавки в список. Вы можете вставить этот код в файл шаблона вашей темы и увидеть результат.

идентификация

В этой части, возьмем, к примеру, аутентификации Twitter REST API.

Когда вы начинаете с API, очень важно внимательно прочитать и понять документацию. Аутентификация - это одна из вещей, которую часто делают разработчики. Одна из причин - плохое чтение документации. Если вы привыкли работать с REST API, вы можете сразу перейти к разделу идентификация, В случае с Twitter легко пропустить строку документации, в которой говорится, что вы должны включить в раздел body своего запроса строку символов. grant_type = client_credentials, Если его не включить, это приведет к полному отказу, даже если весь остальной код будет идеальным. Всегда проверяйте и понимайте документацию. Сделав это для Twitter, вы можете создать запрос POST, например, который генерирует токен доступа:

$ Key = base64_encode (UrlEncode ( "PKI865f6uvGZA6xvFTtb8IAA: i4pmOV0duXJEgty95Ghth89dh5wDIqfJOovKjs92ei878")); $ Запрос = wp_remote_post ( 'https://api.twitter.com/oauth2/token', массив ( 'заголовки' => Array ( 'Authorization '=>' Basic'. $ Key,»Content-Type '=>' применение / х-WWW-форм-urlencoded; кодировка = UTF-8 '),' тело '=>' grant_type = client_credentials', 'httpversion' => '1.1')); $ = Знак json_decode ($ запроса [ 'тело']); echo "<pre>"; var_dump ($ лексема); эхо "</ pre>";

Первым делом нужно закодировать токен доступа и секретную строку (те, которые вы видите, недопустимы). Затем сформулируйте сам запрос. Вы видите, что здесь, согласно рекомендациям Twitter, мы добавляем два заголовка Авторизация et Content-Type, мы включили в цепь grant_type = client_credentials et httpversion. Без всего этого мы не смогли бы сгенерировать токен доступа, необходимый для выполнения следующих запросов в API Twitter. результат:

сор-HTTP-апи-твиттер-маркер

Теперь, когда у вас есть токен доступа, рекомендуется кэшировать его, поскольку он действует некоторое время, и получение его из API REST Twitter для каждого запроса не принесет вам никакой пользы. код. Концепция переходных процессов соответствует этому сценарию, давайте реализуем его.

$ Токен = get_transient ( 'TWITTER_ACCESS_TOKEN'); $ token = (пустой ($ token))? get_twitter_access_token (): $ token; $ Запрос = wp_remote_get ( 'https://api.twitter.com/1.1/followers/ids.json?screen_name= <ваш-имя пользователя-твиттер> & Count = 5', массив ( 'заголовки' => Array ( 'Authorization' . => 'Несущего' $ лексема 'Content-Type' => применение / х-WWW-форм-urlencoded; кодировка = UTF-8 '), httpversion' => '1.1')); $ = Знак json_decode ($ запроса [ 'тело']);

Этот запрос должен получить 5 от ваших подписчиков, если вы замените <Ваше имя пользователя-твиттер-> по вашему имени пользователя в Twitter. В этом коде мы восстанавливаем наш токен доступа из переходного процесса. Если его там нет, мы используем функцию get_twitter_access_token (который вы можете разработать из нашего предыдущего примера). Обратите внимание, что эта функция должна добавить токен доступа в переходный процесс.

Утилита функции HTTP API WordPress

Существуют функции 4, которые позволяют выполнять запросы. Это wp_remote_get, wp_remote_post, wp_remote_head, wp_remote_request, Последнее обобщенно, то есть вы можете использовать его с любым методом HTTP.

Есть также функции 5 для извлечения части ответа. Это wp_retrieve_body, wp_retrieve_header, wp_retrieve_headers, wp_retrieve_response_code, wp_retrieve_response_message.

Легко создайте свой интернет-магазин

Загрузите бесплатные WooCommerce, лучшие плагины для электронной коммерции, чтобы продавать свои физические и цифровые продукты в WordPress. [Рекомендуется]

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

Разработка в WordPress имеет ключевое значение для подхода, ориентированного на API. Чтобы оставаться в ванной, самое время узнать, как использовать различные API WordPress.

Вы уже используете WordPress API? Почему и как ты это делаешь? Есть ли у вас какие-либо советы, чтобы сделать их еще проще? Поделитесь с нами в разделе комментариев.

Эта статья содержит 1 комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

Этот сайт использует Akismet для уменьшения нежелательности. Узнайте больше о том, как используются ваши комментарии.

Вверх
2 акции
доля2
чирикать
Регистрация