Upload
igor-sazonov
View
1.546
Download
0
Embed Size (px)
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 и другие авторы
Спасибо за внимание!