While you’re waiting.
Go to this link and create a post in Gutenberg.
*
http://bit.ly/hiGutesAdmin


user: wcphx_author

pass: wcorl_isAMAZING123!
* ask me more about Pantheon, I don’t even work there - @royboy789
Build Web Applications with
Gutenberg
*
* ask me more about Pantheon, I don’t even work there - @royboy789
A tale of love, hate, betrayal, and
mighty comeback
And a case study.
*
Thank You
For being a friend
@royboy789
*
<!— wp:Roy Sivan —>
Senior Software Engineer
The Walt Disney Company
No, I seriously don’t work at Pantheon.

But you can!

https://pantheon.io/careers
<!— /wp:Roy Sivan —>
^ subtle foreshadowing
More about me
• First install of WP was a beta
• Consulting: arcctrl.com
• Find my courses on lynda.com
• Everywhere Important: @royboy789
Okay what?
WordPress
Gutenberg
Web Applications
Headless
7
WordPress Gutenberg
Application Headless
That was the talk I gave! At WCLAX.. my first talk EVER
WORDPRESS AS AN APPLICATION FRAMEWORK
The Year: 2014
The Year: 2014
FAST FORWARD
Build Web Applications with Gutenberg
The Year: 20 TODAY
Starting at the beginning
It is here…. finally.
@thegutes - Twitter
<data-rant state=“start”>
This is well
structured JSON
This is
Gutenberg
I bet this data looks
AMAZING
right?
NO
Hi Roy
But what about the data via REST API?
It must be an array of data, right?
nope
DB data
And thus
You can’t build apps with Gutenberg
Because the data is not structured and
we need to be 100% backwards compatible.
THANK YOU
www.arcctrl.com
@royboy789
So, what now?
Hold onto your socks, I’m about to go full geek.
This is the mighty comeback
I know you feel defeated after I just led you on
for a few minutes…
ready?
Gutenberg Object Plugin
Shameless plug in.
github.com/royboy789/gutenberg-object-plugin/
http://bit.ly/hiGutes
RESTability is key
Add Gutenberg data
to regular API
endpoint return
/wp/v2/posts
/wp/v2/posts/:id
/wp/v2/pages
/wp/v2/pages/:id
Allows you to get
only the Gutenberg
data
/gutes-db/v1/:id
/wp/v2/posts/:id/blocks
/wp/v2/posts/:id/block/:bid
/wp/v2/pages/:id/blocks
/wp/v2/pages/:id/block/:bid
PHP
Returns an array of the blocks and data
get_editor_blocks( $post_id );
Case Study
Airstream
a company known for their trailers/campers
LatLong - A Digital Agency
The Setup
WordPress
WooCommerce
Gutenberg
GraphQL
Headless React
32
WordPress Gutenberg
WooCommerce Headless
Why WordPress?
Why Headless?
Working with Gutenberg
Gutenberg & WooCommerce
The Power of React
Compiles you
Try it yourself!
github.com/royboy789/gutes-object-upstream
https://github.com/royboy789/gutes-object-upstream
CUSTOM UPSTREAM
Try it yourself!
THANK YOU AGAIN



QUESTIONS?
arcctrl.com 

@royboy789 - GitHub & Twitter

Building Gutenberg Applications & WebOPS Case Study