WordPress REST API

Preview:

Citation preview

WordPressJSON REST API

Архитектура RESTful API

Архитектура сайта с плагином

WordCamp San Francisco 2014

The State of the Word 2014«We need to work hard to harmonize the REST API plugin

And the WordPress.com REST API»

WP REST API pluginhttps://wordpress.org/plugins/json-rest-api/https://github.com/WP-API/WP-API (master)http://wp-api.org

НЕ ЗАПУТАЙТЕСЬ!WP JSON REST API – названиеJSON-REST-API – namespaceWP-API.org – сайт

https://github.com/WP-API

Примеры запросов и ответов (READ: чтение)

получить все записиGET /wp-json/posts

получить записи из категории 1GET /wp-json/posts?filter[cat]=1

получить запись по IDGET /wp-json/posts/123

Примеры запросов и ответов (READ: чтение)

Фильтрование результатов (WP_Query)

GET-параметр filterGET /wp-json/posts

?filter[posts_per_page]=5&filter[cat]=1

&filter[order]=asc

* не все параметры WP_Query работают в filter

Авторизованные запросы

1.Cookie2.OAuth1 (OAuth plugin + WP-CLI)3.HTTP Basic Auth (Basic Auth plugin)

POST PUT DELETE

* изменяем запись с ID 1234

Авторизованные запросы

Получение meta записи:GET /wp-json/posts/<id>/meta

Авторизованные запросыCookie-авторизация / JavaScript-запросы

wp_enqueue_script( ‘wp_api’ );

jQuery.ajax({ url: WP_API_Settings.root + ‘/posts/1234’ ,method: ‘PUT’ ,beforeSend: function(xhr) { xhr.setRequestHeader(‘X-WP-Nonce’, WP_API_Settings.nonce) } ,contentType: ‘application/json’ ,dataType: ‘json’ ,data: {ID: 1234, title: ‘sometitle’, content_raw: ‘text’}});

Объект WP_API_Settings

OAuth1-авторизацияOAuth1-plugin: https://github.com/WP-API/OAuth1

Необходимо подключение плагина WP-CLI

$ wp oauth1 add

Авторизованные запросыПлагин от команды WP-API: Basic Auth

https://github.com/WP-API/Basic-Auth

Ryan McCue и другие авторы

Спасибо за внимание!

Recommended