Top Banner
WordPress JSON REST API
24

WordPress REST API

Jan 13, 2017

Download

Technology

Igor Sazonov
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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

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