WordPress REST API
-
Upload
igor-sazonov -
Category
Technology
-
view
1.540 -
download
0
Transcript of WordPress REST API
![Page 1: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/1.jpg)
WordPressJSON REST API
![Page 2: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/2.jpg)
![Page 3: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/3.jpg)
![Page 4: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/4.jpg)
Архитектура RESTful API
![Page 5: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/5.jpg)
Архитектура сайта с плагином
![Page 6: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/7.jpg)
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://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/8.jpg)
https://github.com/WP-API
![Page 9: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/9.jpg)
Примеры запросов и ответов (READ: чтение)
получить все записиGET /wp-json/posts
получить записи из категории 1GET /wp-json/posts?filter[cat]=1
получить запись по IDGET /wp-json/posts/123
![Page 10: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/10.jpg)
Примеры запросов и ответов (READ: чтение)
![Page 11: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/11.jpg)
Фильтрование результатов (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](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/12.jpg)
Авторизованные запросы
1.Cookie2.OAuth1 (OAuth plugin + WP-CLI)3.HTTP Basic Auth (Basic Auth plugin)
POST PUT DELETE
* изменяем запись с ID 1234
![Page 13: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/13.jpg)
Авторизованные запросы
Получение meta записи:GET /wp-json/posts/<id>/meta
![Page 14: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/14.jpg)
Авторизованные запросы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](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/15.jpg)
OAuth1-авторизацияOAuth1-plugin: https://github.com/WP-API/OAuth1
Необходимо подключение плагина WP-CLI
$ wp oauth1 add
![Page 16: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/16.jpg)
Авторизованные запросыПлагин от команды WP-API: Basic Auth
https://github.com/WP-API/Basic-Auth
![Page 17: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/17.jpg)
![Page 18: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/18.jpg)
![Page 19: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/19.jpg)
Ryan McCue и другие авторы
![Page 20: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/20.jpg)
![Page 21: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/21.jpg)
![Page 22: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/22.jpg)
![Page 23: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/23.jpg)
![Page 24: WordPress REST API](https://reader035.fdocuments.us/reader035/viewer/2022062823/587876fc1a28ab497b8b7681/html5/thumbnails/24.jpg)
Спасибо за внимание!