SlideShare a Scribd company logo
1 of 16
Download to read 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ę

More Related Content

What's hot

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...PROIDEA
 
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]Droptica
 
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 - 4developersMaciej Włodarkiewicz
 
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 - restLukas Lesniewski
 
Czym jest złożoność ?
Czym jest złożoność ?Czym jest złożoność ?
Czym jest złożoność ?GOG.com dev team
 
Migrate API w Drupalu [PL]
Migrate API w Drupalu [PL]Migrate API w Drupalu [PL]
Migrate API w Drupalu [PL]Droptica
 
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...GOG.com dev team
 
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...Piotr Nalepa
 
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 świecieThe Software House
 
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)GOG.com dev team
 
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 ITGOG.com dev team
 
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 ŁuczakPROIDEA
 
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 ...PROIDEA
 
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...GOG.com dev team
 
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 WtyczkiMariusz Szatkowski
 

What's hot (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
 

Viewers also liked

Профилирование кода в WordPress
Профилирование кода в WordPressПрофилирование кода в WordPress
Профилирование кода в WordPressGennady Kovshenin
 
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
 
WordCamp Santander 2016 : eCommerce y WordPress
WordCamp Santander 2016 : eCommerce y WordPressWordCamp Santander 2016 : eCommerce y WordPress
WordCamp Santander 2016 : eCommerce y WordPressPancho Pérez Salazar
 
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/16tshellberg
 
Sécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risqueSécurité: Ne soyez pas à risque
Sécurité: Ne soyez pas à risqueMaxime Jobin
 
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 tagLaura Sacco
 
Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014Design theory - Wordcamp Nepal 2014
Design theory - Wordcamp Nepal 2014Amit Bajracharya
 
La base de datos de WordPress
La base de datos de WordPressLa base de datos de WordPress
La base de datos de WordPressMauricio Gelves
 
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 WordPressLaura Sacco
 
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 ?Thierry Pigot
 
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%Dominic Grzbielok
 
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...Alvaro Gómez Velasco
 
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żMichał Jaworski
 
Wordpress: Idealni nastroj pro chytre marketery
Wordpress: Idealni nastroj pro chytre marketeryWordpress: Idealni nastroj pro chytre marketery
Wordpress: Idealni nastroj pro chytre marketeryFilip Drimalka
 
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 itRian Rietveld
 
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áš webPavel Ungr
 
WordPress Security - Battening down the hatches
WordPress Security - Battening down the hatchesWordPress Security - Battening down the hatches
WordPress Security - Battening down the hatchesBrecht Ryckaert
 
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?frankstaude
 
Build Your Locale Style Guide
Build Your Locale Style GuideBuild Your Locale Style Guide
Build Your Locale Style GuideNaoko Takano
 

Viewers also liked (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
 

Similar to WordCamp Gdynia 2016

Wprowadzenie do WP-API
Wprowadzenie do WP-APIWprowadzenie do WP-API
Wprowadzenie do WP-APITomasz Dziuda
 
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życiaWojciech Lichota
 
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ójmiastoTomasz Dziuda
 
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 #2Tomasz Dziuda
 
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ź #4Tomasz Dziuda
 
Functional widgets in Rails
Functional widgets in RailsFunctional widgets in Rails
Functional widgets in RailsSebastian Sito
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinTomasz Dziuda
 
Electron + WordPress = ❤
Electron + WordPress = ❤Electron + WordPress = ❤
Electron + WordPress = ❤Tomasz Dziuda
 
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 startSages
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGBart Zaremba
 

Similar to 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