WordPress REST API

24
WordPress JSON REST API

Transcript of WordPress REST API

Page 1: WordPress REST API

WordPressJSON REST API

Page 2: WordPress REST API
Page 3: WordPress REST API
Page 4: WordPress REST API

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

Page 5: WordPress REST API

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

Page 6: WordPress REST 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»

Page 7: WordPress 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 – сайт

Page 8: WordPress REST API

https://github.com/WP-API

Page 9: WordPress REST API

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

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

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

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

Page 10: WordPress REST API

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

Page 11: WordPress REST API

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

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

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

&filter[order]=asc

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

Page 12: WordPress REST API

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

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

POST PUT DELETE

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

Page 13: WordPress REST API

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

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

Page 14: WordPress REST API

Авторизованные запросы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

Page 15: WordPress REST API

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

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

$ wp oauth1 add

Page 16: WordPress REST API

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

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

Page 17: WordPress REST API
Page 18: WordPress REST API
Page 19: WordPress REST API

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

Page 20: WordPress REST API
Page 21: WordPress REST API
Page 22: WordPress REST API
Page 23: WordPress REST API
Page 24: WordPress REST API

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