WordCamp Gdynia 2016

Post on 27-Jan-2017

117 views 1 download

Transcript of WordCamp Gdynia 2016

Synchronizacja treści między stronami na

WordPressie z wykorzystaniem

WP-APIPiotr Niewiadomski

Tech Leader

Problem = Wielojęzyczność

● WPML● qTranslate● Polylang● MultilingualPress

Rozwiązanie

Multisite i/lub Multiple Sites

+ WP-API

= Retrans Plugin

WP RESTful API● WP-API 1.2.5● WP-API 2.0-beta13● WordPress.com REST API

(JetPack JSON API)

Jak to działa?● GET - pobieranie danych● POST - dodawanie danych● PUT - edycja danych● DELETE - usuwanie danych

● /wp-json/posts/● /wp-json/posts/<id>● /wp-json/posts/<id>/meta/● /wp-json/posts/<id>/meta/<mid>● /wp-json/options/● /wp-json/options/<id>

Konfiguracja● Uwierzytelnianie

Implementacja Basic Authentication

● Typy wpisówshow_in_json => true

● Obsługa JSONaBiblioteka PHP Json vs Pear Json

BACKEND Lista postów

GET /wp-json/posts/możePOST /wp-json/posts/

POST /wp-json/posts/<id>/meta/lubPUT /wp-json/posts/<id>/meta/<mid>

FRONTEND Pojedynczy post

https://piwik.pro => https://piwikpro.de

GET /wp-json/post/<id>GET /wp-json/options/<id>

Meta Dane● Transport obiektów poprzez JSON

(brak nazwy obieku)● Problem serializacji

(brak definicji klasy)● Whitelista danych

Opcje● Brak wsparcia dla opcji● Whitelista opcji

Bezpieczeństwo● Tylko wewnętrzne Requesty serwera● Dwustronna weryfikacja● Basic Authentication● Brak wsparcia dla OAuth :(

Prędkość● Wolne Requesty● Cache● Multisite może DB?

Out of the box● Plugin API● Options API● Settings API● HTTP API● Rewrite API● Metadata API

PodsumowanieBrak wsparcia dla OAuthBrak wsparcia dla opcjiProblem z natywną biblioteką JSON w PHPProblem serializacji obiektów

Register Post Type● show_in_json => true

Basic Authentication Plugin● zła kolejność● nie ustawianie użytkownika po zalogowaniu

Poszukujemy developerów!

p.niewiadomski@clearcode.ccclearcode.cc

Dziękuję za uwagę