SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Synchronizacja treści
między stronami na
WordPressie z
wykorzystaniem
WP-API
Piotr 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ów
show_in_json => true
● Obsługa JSONa
Biblioteka PHP Json vs Pear Json
BACKEND Lista postów
GET /wp-json/posts/
może
POST /wp-json/posts/
POST /wp-json/posts/<id>/meta/
lub
PUT
/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
Podsumowanie
Brak wsparcia dla OAuth
Brak wsparcia dla opcji
Problem z natywną biblioteką JSON w PHP
Problem 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.cc
clearcode.cc
Dziękuję za
uwagę

Mais conteúdo relacionado

Mais procurados

[TestWarez 2017] Architektura frameworka testowego
[TestWarez 2017] Architektura frameworka testowego[TestWarez 2017] Architektura frameworka testowego
[TestWarez 2017] Architektura frameworka testowego
Stowarzyszenie Jakości Systemów Informatycznych (SJSI)
 
4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak
4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak
4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak
PROIDEA
 

Mais procurados (20)

Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
Websockety w PHP
Websockety w PHPWebsockety w PHP
Websockety w PHP
 
[TestWarez 2017] Architektura frameworka testowego
[TestWarez 2017] Architektura frameworka testowego[TestWarez 2017] Architektura frameworka testowego
[TestWarez 2017] Architektura frameworka testowego
 
Symfony 2.3 Wstęp do
Symfony 2.3 Wstęp doSymfony 2.3 Wstęp do
Symfony 2.3 Wstęp do
 
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
 
The story of GOG.com Cache
The story of GOG.com Cache The story of GOG.com Cache
The story of GOG.com Cache
 
Devel - przegląd możliwości modułu [PL]
Devel - przegląd możliwości modułu [PL]Devel - przegląd możliwości modułu [PL]
Devel - przegląd możliwości modułu [PL]
 
multi-tier cache at gog.com - 4developers
multi-tier cache at gog.com -  4developersmulti-tier cache at gog.com -  4developers
multi-tier cache at gog.com - 4developers
 
Wstęp do projektowania usług internetowych: część 1 - rest
Wstęp do projektowania usług internetowych: część 1 - restWstęp do projektowania usług internetowych: część 1 - rest
Wstęp do projektowania usług internetowych: część 1 - rest
 
Czym jest złożoność ?
Czym jest złożoność ?Czym jest złożoność ?
Czym jest złożoność ?
 
Migrate API w Drupalu [PL]
Migrate API w Drupalu [PL]Migrate API w Drupalu [PL]
Migrate API w Drupalu [PL]
 
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
GWINT: Przetwarzanie rozproszone z wykorzystaniem komunikacji asynchronicznej...
 
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Developing native-like Windows application using JavaScript, SSE, eZ Platform...
Developing native-like Windows application using JavaScript, SSE, eZ Platform...
 
HTTP/2 - praktyczne korzyści w realnym świecie
HTTP/2 - praktyczne korzyści w realnym świecieHTTP/2 - praktyczne korzyści w realnym świecie
HTTP/2 - praktyczne korzyści w realnym świecie
 
Wykorzystanie technologii webowych w aplikacjach desktopowych (1)
Wykorzystanie technologii webowych w aplikacjach desktopowych  (1)Wykorzystanie technologii webowych w aplikacjach desktopowych  (1)
Wykorzystanie technologii webowych w aplikacjach desktopowych (1)
 
Jak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com ITJak wydaliśmy wiedźmina, GOG.com IT
Jak wydaliśmy wiedźmina, GOG.com IT
 
4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak
4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak
4Developers2015: Serwis z kamerkami - pole minowe wydajności - Łukasz Łuczak
 
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Tomasz Paszkowski  - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...Tomasz Paszkowski  - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
 
Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...
Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...
Dystrybucja gier w świecie online, przykład architektury webowego systemu ro...
 
Wordpress dla początkujących szkolenie / warsztat 08/10 Wtyczki
Wordpress dla początkujących szkolenie / warsztat 08/10 WtyczkiWordpress dla początkujących szkolenie / warsztat 08/10 Wtyczki
Wordpress dla początkujących szkolenie / warsztat 08/10 Wtyczki
 

Destaque

Jak na SEO ve WordPressu (Pavel Ungr)
Jak na SEO ve WordPressu (Pavel Ungr)Jak na SEO ve WordPressu (Pavel Ungr)
Jak na SEO ve WordPressu (Pavel Ungr)
wcsk
 

Destaque (20)

Профилирование кода в WordPress
Профилирование кода в WordPressПрофилирование кода в WordPress
Профилирование кода в WordPress
 
Jak na SEO ve WordPressu (Pavel Ungr)
Jak na SEO ve WordPressu (Pavel Ungr)Jak na SEO ve WordPressu (Pavel Ungr)
Jak na SEO ve WordPressu (Pavel Ungr)
 
WordCamp Santander 2016 : eCommerce y WordPress
WordCamp Santander 2016 : eCommerce y WordPressWordCamp Santander 2016 : eCommerce y WordPress
WordCamp Santander 2016 : eCommerce y WordPress
 
Nürnberg WooCommerce Talk - 11/24/16
Nürnberg WooCommerce Talk - 11/24/16Nürnberg WooCommerce Talk - 11/24/16
Nürnberg WooCommerce Talk - 11/24/16
 
Sécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risqueSécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risque
 
Wordpress: pagine vs articoli - categorie vs tag
Wordpress: pagine vs articoli - categorie vs tagWordpress: pagine vs articoli - categorie vs tag
Wordpress: pagine vs articoli - categorie vs tag
 
Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014
 
La base de datos de WordPress
La base de datos de WordPressLa base de datos de WordPress
La base de datos de WordPress
 
Risorse e metodi per imparare a usare WordPress
Risorse e metodi per imparare a usare WordPressRisorse e metodi per imparare a usare WordPress
Risorse e metodi per imparare a usare WordPress
 
Communautés Drupal et WordPress : le choc des titans ?
Communautés Drupal et WordPress : le choc des titans ?Communautés Drupal et WordPress : le choc des titans ?
Communautés Drupal et WordPress : le choc des titans ?
 
Word Camp Cologne 2016: Session The WordPress 1%
Word Camp Cologne 2016: Session The WordPress 1%Word Camp Cologne 2016: Session The WordPress 1%
Word Camp Cologne 2016: Session The WordPress 1%
 
Gestión de información con WordPress para no programadores - WordCamp Santa...
Gestión de información con WordPress para no programadores - WordCamp Santa...Gestión de información con WordPress para no programadores - WordCamp Santa...
Gestión de información con WordPress para no programadores - WordCamp Santa...
 
Porzucony koszyk, czyli szansa na lepszą sprzedaż
Porzucony koszyk, czyli szansa na lepszą sprzedażPorzucony koszyk, czyli szansa na lepszą sprzedaż
Porzucony koszyk, czyli szansa na lepszą sprzedaż
 
Wordpress: Idealni nastroj pro chytre marketery
Wordpress: Idealni nastroj pro chytre marketeryWordpress: Idealni nastroj pro chytre marketery
Wordpress: Idealni nastroj pro chytre marketery
 
WordPress is what we make of it
WordPress is what we make of itWordPress is what we make of it
WordPress is what we make of it
 
How User Support Can Increase Your Revenue
How User Support Can Increase Your RevenueHow User Support Can Increase Your Revenue
How User Support Can Increase Your Revenue
 
Funkční SEO strategie pro váš web
Funkční SEO strategie pro váš webFunkční SEO strategie pro váš web
Funkční SEO strategie pro váš web
 
WordPress Security - Battening down the hatches
WordPress Security - Battening down the hatchesWordPress Security - Battening down the hatches
WordPress Security - Battening down the hatches
 
Suchst du noch? Oder findest du schon?
Suchst du noch? Oder findest du schon?Suchst du noch? Oder findest du schon?
Suchst du noch? Oder findest du schon?
 
Build Your Locale Style Guide
Build Your Locale Style GuideBuild Your Locale Style Guide
Build Your Locale Style Guide
 

Semelhante a WordCamp Gdynia 2016

Apache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaApache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użycia
Wojciech Lichota
 
Functional widgets in Rails
Functional widgets in RailsFunctional widgets in Rails
Functional widgets in Rails
Sebastian Sito
 

Semelhante a WordCamp Gdynia 2016 (11)

Wprowadzenie do WP-API
Wprowadzenie do WP-APIWprowadzenie do WP-API
Wprowadzenie do WP-API
 
Apache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaApache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użycia
 
REST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoREST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp Trójmiasto
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2
 
WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4
 
Functional widgets in Rails
Functional widgets in RailsFunctional widgets in Rails
Functional widgets in Rails
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp Lublin
 
Electron + WordPress = ❤
Electron + WordPress = ❤Electron + WordPress = ❤
Electron + WordPress = ❤
 
Budowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki startBudowa elementów GUI za pomocą biblioteki React - szybki start
Budowa elementów GUI za pomocą biblioteki React - szybki start
 
Android i REST
Android i RESTAndroid i REST
Android i REST
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUG
 

WordCamp Gdynia 2016