SlideShare a Scribd company logo
Blog - shawnhooper.ca

Twitter - @shawnhooper
REST API Case Study: 

Actionable.co
WordCamp Miami 2017



Shawn Hooper
Director of IT, actionable.co
Blog - shawnhooper.ca

Twitter - @shawnhooper


Good Afternoon!
I’m Shawn Hooper, the Director of IT at
Actionable.co

Being a distributed company, everything we do is
in the cloud….
Actionable
Blog - shawnhooper.ca

Twitter - @shawnhooper


Our core offering is the Actionable
Conversations platform. (NodeJS)
Actionable
Blog - shawnhooper.ca

Twitter - @shawnhooper


Our core offering is the Actionable
Conversations platform. (NodeJS)
We also have 3 public-facing websites marketing
to different audiences (all WordPress).
Actionable
Blog - shawnhooper.ca

Twitter - @shawnhooper


Our core offering is the Actionable
Conversations platform. (NodeJS)
We also have 3 public-facing websites marketing
to different audiences (all WordPress). 



Our Intranet is also a WordPress site.
Actionable
Blog - shawnhooper.ca

Twitter - @shawnhooper


We also use many 3rd party services w/ APIs:
Teachable (Online Courses)

Infusionsoft (CRM)

Zoom (Webinars & Conference Calls)

G Suite (Google Apps)

Xero (Accounting)

BambooHR (HR Management)

…. and many more
Actionable
Blog - shawnhooper.ca

Twitter - @shawnhooper
How we use the REST API…
Blog - shawnhooper.ca

Twitter - @shawnhooper
To Manage Content…
Blog - shawnhooper.ca

Twitter - @shawnhooper


Actionable Conversations 

Learning & Development Platform



Developed in NodeJS



Our learning modules are content.

Used the WP REST API to retrieve modules &
avoid making a custom CMS.

Why re-invent the wheel…
Blog - shawnhooper.ca

Twitter - @shawnhooper


Modified ‘module’ Custom Post Type endpoint

to return required meta fields with the
register_rest_field() function.
Why re-invent the wheel…
Blog - shawnhooper.ca

Twitter - @shawnhooper


Modified ‘module’ Custom Post Type endpoint

to return required meta fields with the
register_rest_field() function.



Wrote a plugin that added WPML information to
this post type, showing current locale, and the
locale, post ID and permalink to other available
languages.
Why re-invent the wheel…
Blog - shawnhooper.ca

Twitter - @shawnhooper
Linking Between Blogs
Blog - shawnhooper.ca

Twitter - @shawnhooper


We have three public facing websites with blogs.
Using the REST API, we retrieve the most recent
post from each blog and display them in a widget
on all the sites.



/wp-json/wp/v2/posts/?per_page=1



(Cached for 24 hours)
Linking Between Blogs
Blog - shawnhooper.ca

Twitter - @shawnhooper


We no longer use admin-ajax.php to handle AJAX
requests, but REST endpoints instead.



- Better Documented ( wp-json/ )

- Code re-use from other sites and apps



(Example: Looking up valid email address)
Goodbye admin-ajax.php
Blog - shawnhooper.ca

Twitter - @shawnhooper
To Optimize…
Blog - shawnhooper.ca

Twitter - @shawnhooper
Clearing the Cache
Blog - shawnhooper.ca

Twitter - @shawnhooper
Clearing the Cache


The data about our consultant network is
maintained in one of our internal databases.
The page is populated using a shortcode.
This is slow.
So I cached it. Forever.
Blog - shawnhooper.ca

Twitter - @shawnhooper
Clearing the Cache
Clear the cache only on data change
Blog - shawnhooper.ca

Twitter - @shawnhooper
To Automate…
Blog - shawnhooper.ca

Twitter - @shawnhooper


Problem:
An employee’s manager & HR need to know when a
new team member completes their on boarding
courses in Teachable.
Solution:



Use REST API to accept web hooks from Teachable
and then interface with Slack and our HRMS.
Teachable Webhooks
Blog - shawnhooper.ca

Twitter - @shawnhooper


When an opportunity is marked as Closed-Won in
Infusionsoft, we automatically create a record in
our accounting software using the WP REST API.
Infusionsoft -> Xero
Blog - shawnhooper.ca

Twitter - @shawnhooper


Problem:
User Management of Several Websites 

without Multisite
Solution:



Use REST API to remotely create user accounts
from an admin page on our Intranet.
Bulk User Creation
Blog - shawnhooper.ca

Twitter - @shawnhooper


POST /wp/v2/users/
combined with Google Apps Login plugin.
Bulk User Creation
Blog - shawnhooper.ca

Twitter - @shawnhooper
You can find these slides, notes and more at

shawnhooper.ca



Tweet Me @shawnhooper



WordPress Slack: shooper
Thank You!
Ad

More Related Content

What's hot (8)

CMS Mailer for Umbraco
CMS Mailer for UmbracoCMS Mailer for Umbraco
CMS Mailer for Umbraco
Warren Buckley
 
Functions.php - It's Not Just For Developers
Functions.php - It's Not Just For DevelopersFunctions.php - It's Not Just For Developers
Functions.php - It's Not Just For Developers
Eric Mann
 
WordPress, Schema & more
WordPress, Schema & moreWordPress, Schema & more
WordPress, Schema & more
Joost de Valk
 
Surviving the Web Explosion: Keeping in touch with RSS
Surviving the Web Explosion: Keeping in touch with RSSSurviving the Web Explosion: Keeping in touch with RSS
Surviving the Web Explosion: Keeping in touch with RSS
Sukhdev Singh
 
Brian Chappell - Reputation Monitoring 101 Presentation - ScarySEO
Brian Chappell - Reputation Monitoring 101 Presentation - ScarySEOBrian Chappell - Reputation Monitoring 101 Presentation - ScarySEO
Brian Chappell - Reputation Monitoring 101 Presentation - ScarySEO
Brian_Chappell
 
Email notifications for your blog content
Email notifications for your blog contentEmail notifications for your blog content
Email notifications for your blog content
Becs Kemm
 
Technical SEO for the Non-Techie: Website Speed Testing and Monitoring
Technical SEO for the Non-Techie: Website Speed Testing and MonitoringTechnical SEO for the Non-Techie: Website Speed Testing and Monitoring
Technical SEO for the Non-Techie: Website Speed Testing and Monitoring
Elementive
 
3 Quick accessibility wins for your site
3 Quick accessibility wins for your site3 Quick accessibility wins for your site
3 Quick accessibility wins for your site
Rian Rietveld
 
CMS Mailer for Umbraco
CMS Mailer for UmbracoCMS Mailer for Umbraco
CMS Mailer for Umbraco
Warren Buckley
 
Functions.php - It's Not Just For Developers
Functions.php - It's Not Just For DevelopersFunctions.php - It's Not Just For Developers
Functions.php - It's Not Just For Developers
Eric Mann
 
WordPress, Schema & more
WordPress, Schema & moreWordPress, Schema & more
WordPress, Schema & more
Joost de Valk
 
Surviving the Web Explosion: Keeping in touch with RSS
Surviving the Web Explosion: Keeping in touch with RSSSurviving the Web Explosion: Keeping in touch with RSS
Surviving the Web Explosion: Keeping in touch with RSS
Sukhdev Singh
 
Brian Chappell - Reputation Monitoring 101 Presentation - ScarySEO
Brian Chappell - Reputation Monitoring 101 Presentation - ScarySEOBrian Chappell - Reputation Monitoring 101 Presentation - ScarySEO
Brian Chappell - Reputation Monitoring 101 Presentation - ScarySEO
Brian_Chappell
 
Email notifications for your blog content
Email notifications for your blog contentEmail notifications for your blog content
Email notifications for your blog content
Becs Kemm
 
Technical SEO for the Non-Techie: Website Speed Testing and Monitoring
Technical SEO for the Non-Techie: Website Speed Testing and MonitoringTechnical SEO for the Non-Techie: Website Speed Testing and Monitoring
Technical SEO for the Non-Techie: Website Speed Testing and Monitoring
Elementive
 
3 Quick accessibility wins for your site
3 Quick accessibility wins for your site3 Quick accessibility wins for your site
3 Quick accessibility wins for your site
Rian Rietveld
 

Viewers also liked (17)

Портфоліо
ПортфоліоПортфоліо
Портфоліо
Kyrynyuk
 
Aumentativo y diminutivo
Aumentativo y diminutivoAumentativo y diminutivo
Aumentativo y diminutivo
Antonina Fiorotto
 
Manual práctico de las manifestaciones espíritas
Manual práctico de las manifestaciones espíritasManual práctico de las manifestaciones espíritas
Manual práctico de las manifestaciones espíritas
Osvaldo Brascher
 
Viaje espírita en 1862
Viaje espírita en 1862Viaje espírita en 1862
Viaje espírita en 1862
Osvaldo Brascher
 
2DO GRADO-PROGRAMACIÓN DE PROYECTO INTEGRADO DE EMERGENCIA.
2DO GRADO-PROGRAMACIÓN DE PROYECTO INTEGRADO DE EMERGENCIA.2DO GRADO-PROGRAMACIÓN DE PROYECTO INTEGRADO DE EMERGENCIA.
2DO GRADO-PROGRAMACIÓN DE PROYECTO INTEGRADO DE EMERGENCIA.
Marly Rodriguez
 
3Com 3C10411
3Com 3C104113Com 3C10411
3Com 3C10411
savomir
 
Oral region
Oral regionOral region
Oral region
Dr. Haydar Muneer Salih
 
Mueble hola ede espino
Mueble hola ede espinoMueble hola ede espino
Mueble hola ede espino
edeespino
 
Plan tutoria final
Plan tutoria finalPlan tutoria final
Plan tutoria final
jose carlos carlos juarez yucra
 
Maquinas herramientas utilizadas en la industria metalmecánica marwix cova
Maquinas herramientas utilizadas en la industria metalmecánica marwix covaMaquinas herramientas utilizadas en la industria metalmecánica marwix cova
Maquinas herramientas utilizadas en la industria metalmecánica marwix cova
marwix cova
 
Tecnologia
TecnologiaTecnologia
Tecnologia
lina maria mendez muñoz
 
Hacking Health Halifax 2017 Pitching
Hacking Health Halifax 2017 PitchingHacking Health Halifax 2017 Pitching
Hacking Health Halifax 2017 Pitching
Sally Ng
 
BE & GCG : THE CORPORATE CULTURE IMPACT AND IMPLICATION
BE & GCG : THE CORPORATE CULTURE IMPACT AND IMPLICATIONBE & GCG : THE CORPORATE CULTURE IMPACT AND IMPLICATION
BE & GCG : THE CORPORATE CULTURE IMPACT AND IMPLICATION
Asteria Dian Perdanawati
 
Finding Useful Plugins: How To Extend WordPress Past a Simple Blog
Finding Useful Plugins: How To Extend WordPress Past a Simple BlogFinding Useful Plugins: How To Extend WordPress Past a Simple Blog
Finding Useful Plugins: How To Extend WordPress Past a Simple Blog
Meagan Hanes
 
Pragmatic Rest
Pragmatic RestPragmatic Rest
Pragmatic Rest
Subbu Allamaraju
 
RESTful Web Apps - Facts vs Fiction
RESTful Web Apps - Facts vs FictionRESTful Web Apps - Facts vs Fiction
RESTful Web Apps - Facts vs Fiction
Subbu Allamaraju
 
Taming BuddyPress
Taming BuddyPressTaming BuddyPress
Taming BuddyPress
Tanner Moushey ❖ Mission Lab - WordPress Agency
 
Портфоліо
ПортфоліоПортфоліо
Портфоліо
Kyrynyuk
 
Manual práctico de las manifestaciones espíritas
Manual práctico de las manifestaciones espíritasManual práctico de las manifestaciones espíritas
Manual práctico de las manifestaciones espíritas
Osvaldo Brascher
 
2DO GRADO-PROGRAMACIÓN DE PROYECTO INTEGRADO DE EMERGENCIA.
2DO GRADO-PROGRAMACIÓN DE PROYECTO INTEGRADO DE EMERGENCIA.2DO GRADO-PROGRAMACIÓN DE PROYECTO INTEGRADO DE EMERGENCIA.
2DO GRADO-PROGRAMACIÓN DE PROYECTO INTEGRADO DE EMERGENCIA.
Marly Rodriguez
 
3Com 3C10411
3Com 3C104113Com 3C10411
3Com 3C10411
savomir
 
Mueble hola ede espino
Mueble hola ede espinoMueble hola ede espino
Mueble hola ede espino
edeespino
 
Maquinas herramientas utilizadas en la industria metalmecánica marwix cova
Maquinas herramientas utilizadas en la industria metalmecánica marwix covaMaquinas herramientas utilizadas en la industria metalmecánica marwix cova
Maquinas herramientas utilizadas en la industria metalmecánica marwix cova
marwix cova
 
Hacking Health Halifax 2017 Pitching
Hacking Health Halifax 2017 PitchingHacking Health Halifax 2017 Pitching
Hacking Health Halifax 2017 Pitching
Sally Ng
 
BE & GCG : THE CORPORATE CULTURE IMPACT AND IMPLICATION
BE & GCG : THE CORPORATE CULTURE IMPACT AND IMPLICATIONBE & GCG : THE CORPORATE CULTURE IMPACT AND IMPLICATION
BE & GCG : THE CORPORATE CULTURE IMPACT AND IMPLICATION
Asteria Dian Perdanawati
 
Finding Useful Plugins: How To Extend WordPress Past a Simple Blog
Finding Useful Plugins: How To Extend WordPress Past a Simple BlogFinding Useful Plugins: How To Extend WordPress Past a Simple Blog
Finding Useful Plugins: How To Extend WordPress Past a Simple Blog
Meagan Hanes
 
RESTful Web Apps - Facts vs Fiction
RESTful Web Apps - Facts vs FictionRESTful Web Apps - Facts vs Fiction
RESTful Web Apps - Facts vs Fiction
Subbu Allamaraju
 
Ad

Similar to WP REST API: Actionable.co (20)

Database Considerations for SaaS Products
Database Considerations for SaaS ProductsDatabase Considerations for SaaS Products
Database Considerations for SaaS Products
Shawn Hooper
 
Wordcamp Toronto Presentation
Wordcamp Toronto PresentationWordcamp Toronto Presentation
Wordcamp Toronto Presentation
Roy Sivan
 
WordCamp San Diego 2015 - WordPress, WP-API, and Web Applications
WordCamp San Diego 2015 - WordPress, WP-API, and Web ApplicationsWordCamp San Diego 2015 - WordPress, WP-API, and Web Applications
WordCamp San Diego 2015 - WordPress, WP-API, and Web Applications
Roy Sivan
 
WordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTOWordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTO
Roy Sivan
 
Introduction to WordPress Security
Introduction to WordPress SecurityIntroduction to WordPress Security
Introduction to WordPress Security
Shawn Hooper
 
Client Side Applications with WP-API WordPress - WCMTL 2015
Client Side Applications with WP-API WordPress - WCMTL 2015Client Side Applications with WP-API WordPress - WCMTL 2015
Client Side Applications with WP-API WordPress - WCMTL 2015
Roy Sivan
 
REST API Basics
REST API BasicsREST API Basics
REST API Basics
Tharindu Weerasinghe
 
Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
ColdFusionConference
 
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
Evan Mullins
 
Using WordPress as a Headless CMS
Using WordPress as a Headless CMSUsing WordPress as a Headless CMS
Using WordPress as a Headless CMS
Adam Rasheed
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Intro
robinb123
 
Twitter API 2.0
Twitter API 2.0Twitter API 2.0
Twitter API 2.0
Alex Payne
 
How to migrate your blog from Wordpress to HubSpot
How to migrate your blog from Wordpress to HubSpotHow to migrate your blog from Wordpress to HubSpot
How to migrate your blog from Wordpress to HubSpot
Vu Long Tran
 
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
Martijn Dashorst
 
Save Time By Manging WordPress from the Command Line
Save Time By Manging WordPress from the Command LineSave Time By Manging WordPress from the Command Line
Save Time By Manging WordPress from the Command Line
Shawn Hooper
 
WordPress REST API
WordPress REST APIWordPress REST API
WordPress REST API
Anthony Montalbano
 
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
Evan Mullins
 
WordPress Coding Standards & Best Practices
WordPress Coding Standards & Best PracticesWordPress Coding Standards & Best Practices
WordPress Coding Standards & Best Practices
Shawn Hooper
 
Web server
Web serverWeb server
Web server
Sajan Sahu
 
WP REST API - Building a simple Web Application
WP REST API - Building a simple Web ApplicationWP REST API - Building a simple Web Application
WP REST API - Building a simple Web Application
Edmund Chan
 
Database Considerations for SaaS Products
Database Considerations for SaaS ProductsDatabase Considerations for SaaS Products
Database Considerations for SaaS Products
Shawn Hooper
 
Wordcamp Toronto Presentation
Wordcamp Toronto PresentationWordcamp Toronto Presentation
Wordcamp Toronto Presentation
Roy Sivan
 
WordCamp San Diego 2015 - WordPress, WP-API, and Web Applications
WordCamp San Diego 2015 - WordPress, WP-API, and Web ApplicationsWordCamp San Diego 2015 - WordPress, WP-API, and Web Applications
WordCamp San Diego 2015 - WordPress, WP-API, and Web Applications
Roy Sivan
 
WordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTOWordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTO
Roy Sivan
 
Introduction to WordPress Security
Introduction to WordPress SecurityIntroduction to WordPress Security
Introduction to WordPress Security
Shawn Hooper
 
Client Side Applications with WP-API WordPress - WCMTL 2015
Client Side Applications with WP-API WordPress - WCMTL 2015Client Side Applications with WP-API WordPress - WCMTL 2015
Client Side Applications with WP-API WordPress - WCMTL 2015
Roy Sivan
 
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
Evan Mullins
 
Using WordPress as a Headless CMS
Using WordPress as a Headless CMSUsing WordPress as a Headless CMS
Using WordPress as a Headless CMS
Adam Rasheed
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Intro
robinb123
 
Twitter API 2.0
Twitter API 2.0Twitter API 2.0
Twitter API 2.0
Alex Payne
 
How to migrate your blog from Wordpress to HubSpot
How to migrate your blog from Wordpress to HubSpotHow to migrate your blog from Wordpress to HubSpot
How to migrate your blog from Wordpress to HubSpot
Vu Long Tran
 
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
Martijn Dashorst
 
Save Time By Manging WordPress from the Command Line
Save Time By Manging WordPress from the Command LineSave Time By Manging WordPress from the Command Line
Save Time By Manging WordPress from the Command Line
Shawn Hooper
 
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
Evan Mullins
 
WordPress Coding Standards & Best Practices
WordPress Coding Standards & Best PracticesWordPress Coding Standards & Best Practices
WordPress Coding Standards & Best Practices
Shawn Hooper
 
WP REST API - Building a simple Web Application
WP REST API - Building a simple Web ApplicationWP REST API - Building a simple Web Application
WP REST API - Building a simple Web Application
Edmund Chan
 
Ad

More from Shawn Hooper (13)

Payments Made Easy with Stripe
Payments Made Easy with StripePayments Made Easy with Stripe
Payments Made Easy with Stripe
Shawn Hooper
 
Writing Clean, Standards Compliant, Testable Code for WordPress
Writing Clean, Standards Compliant, Testable Code for WordPressWriting Clean, Standards Compliant, Testable Code for WordPress
Writing Clean, Standards Compliant, Testable Code for WordPress
Shawn Hooper
 
Creating Multilingual WordPress Websites
Creating Multilingual WordPress WebsitesCreating Multilingual WordPress Websites
Creating Multilingual WordPress Websites
Shawn Hooper
 
Creating Multilingual WordPress Websites
Creating Multilingual WordPress WebsitesCreating Multilingual WordPress Websites
Creating Multilingual WordPress Websites
Shawn Hooper
 
WP-CLI Presentation from WordCamp NYC 2015
WP-CLI Presentation from WordCamp NYC 2015WP-CLI Presentation from WordCamp NYC 2015
WP-CLI Presentation from WordCamp NYC 2015
Shawn Hooper
 
Securing WordPress
Securing WordPressSecuring WordPress
Securing WordPress
Shawn Hooper
 
Writing Secure Code for WordPress
Writing Secure Code for WordPressWriting Secure Code for WordPress
Writing Secure Code for WordPress
Shawn Hooper
 
Manage WordPress From the Command Line with WP-CLI
Manage WordPress From the Command Line with WP-CLIManage WordPress From the Command Line with WP-CLI
Manage WordPress From the Command Line with WP-CLI
Shawn Hooper
 
Hooked on WordPress: WordCamp Columbus
Hooked on WordPress: WordCamp ColumbusHooked on WordPress: WordCamp Columbus
Hooked on WordPress: WordCamp Columbus
Shawn Hooper
 
WP-CLI Talk from WordCamp Montreal
WP-CLI Talk from WordCamp MontrealWP-CLI Talk from WordCamp Montreal
WP-CLI Talk from WordCamp Montreal
Shawn Hooper
 
WP-CLI - WordCamp Miami 2015
WP-CLI - WordCamp Miami 2015WP-CLI - WordCamp Miami 2015
WP-CLI - WordCamp Miami 2015
Shawn Hooper
 
Save Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command LineSave Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command Line
Shawn Hooper
 
Time Code: Automating Tasks in WordPress with WP-Cron
Time Code: Automating Tasks in WordPress with WP-CronTime Code: Automating Tasks in WordPress with WP-Cron
Time Code: Automating Tasks in WordPress with WP-Cron
Shawn Hooper
 
Payments Made Easy with Stripe
Payments Made Easy with StripePayments Made Easy with Stripe
Payments Made Easy with Stripe
Shawn Hooper
 
Writing Clean, Standards Compliant, Testable Code for WordPress
Writing Clean, Standards Compliant, Testable Code for WordPressWriting Clean, Standards Compliant, Testable Code for WordPress
Writing Clean, Standards Compliant, Testable Code for WordPress
Shawn Hooper
 
Creating Multilingual WordPress Websites
Creating Multilingual WordPress WebsitesCreating Multilingual WordPress Websites
Creating Multilingual WordPress Websites
Shawn Hooper
 
Creating Multilingual WordPress Websites
Creating Multilingual WordPress WebsitesCreating Multilingual WordPress Websites
Creating Multilingual WordPress Websites
Shawn Hooper
 
WP-CLI Presentation from WordCamp NYC 2015
WP-CLI Presentation from WordCamp NYC 2015WP-CLI Presentation from WordCamp NYC 2015
WP-CLI Presentation from WordCamp NYC 2015
Shawn Hooper
 
Securing WordPress
Securing WordPressSecuring WordPress
Securing WordPress
Shawn Hooper
 
Writing Secure Code for WordPress
Writing Secure Code for WordPressWriting Secure Code for WordPress
Writing Secure Code for WordPress
Shawn Hooper
 
Manage WordPress From the Command Line with WP-CLI
Manage WordPress From the Command Line with WP-CLIManage WordPress From the Command Line with WP-CLI
Manage WordPress From the Command Line with WP-CLI
Shawn Hooper
 
Hooked on WordPress: WordCamp Columbus
Hooked on WordPress: WordCamp ColumbusHooked on WordPress: WordCamp Columbus
Hooked on WordPress: WordCamp Columbus
Shawn Hooper
 
WP-CLI Talk from WordCamp Montreal
WP-CLI Talk from WordCamp MontrealWP-CLI Talk from WordCamp Montreal
WP-CLI Talk from WordCamp Montreal
Shawn Hooper
 
WP-CLI - WordCamp Miami 2015
WP-CLI - WordCamp Miami 2015WP-CLI - WordCamp Miami 2015
WP-CLI - WordCamp Miami 2015
Shawn Hooper
 
Save Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command LineSave Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command Line
Shawn Hooper
 
Time Code: Automating Tasks in WordPress with WP-Cron
Time Code: Automating Tasks in WordPress with WP-CronTime Code: Automating Tasks in WordPress with WP-Cron
Time Code: Automating Tasks in WordPress with WP-Cron
Shawn Hooper
 

Recently uploaded (15)

introduction to html and cssIntroHTML.ppt
introduction to html and cssIntroHTML.pptintroduction to html and cssIntroHTML.ppt
introduction to html and cssIntroHTML.ppt
SherifElGohary7
 
Cloud-to-cloud Migration presentation.pptx
Cloud-to-cloud Migration presentation.pptxCloud-to-cloud Migration presentation.pptx
Cloud-to-cloud Migration presentation.pptx
marketing140789
 
学生卡英国RCA毕业证皇家艺术学院电子毕业证学历证书
学生卡英国RCA毕业证皇家艺术学院电子毕业证学历证书学生卡英国RCA毕业证皇家艺术学院电子毕业证学历证书
学生卡英国RCA毕业证皇家艺术学院电子毕业证学历证书
Taqyea
 
Paper: World Game (s) Great Redesign.pdf
Paper: World Game (s) Great Redesign.pdfPaper: World Game (s) Great Redesign.pdf
Paper: World Game (s) Great Redesign.pdf
Steven McGee
 
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness GuideThe Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
russellpeter1995
 
美国文凭明尼苏达大学莫里斯分校毕业证范本UMM学位证书
美国文凭明尼苏达大学莫里斯分校毕业证范本UMM学位证书美国文凭明尼苏达大学莫里斯分校毕业证范本UMM学位证书
美国文凭明尼苏达大学莫里斯分校毕业证范本UMM学位证书
Taqyea
 
Presentation Mehdi Monitorama 2022 Cancer and Monitoring
Presentation Mehdi Monitorama 2022 Cancer and MonitoringPresentation Mehdi Monitorama 2022 Cancer and Monitoring
Presentation Mehdi Monitorama 2022 Cancer and Monitoring
mdaoudi
 
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdfGiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
Giacomo Vacca
 
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
werhkr1
 
ProjectArtificial Intelligence Good or Evil.pptx
ProjectArtificial Intelligence Good or Evil.pptxProjectArtificial Intelligence Good or Evil.pptx
ProjectArtificial Intelligence Good or Evil.pptx
OlenaKotovska
 
Breaking Down the Latest Spectrum Internet Plans.pdf
Breaking Down the Latest Spectrum Internet Plans.pdfBreaking Down the Latest Spectrum Internet Plans.pdf
Breaking Down the Latest Spectrum Internet Plans.pdf
Internet Bundle Now
 
IoT PPT introduction to internet of things
IoT PPT introduction to internet of thingsIoT PPT introduction to internet of things
IoT PPT introduction to internet of things
VaishnaviPatil3995
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
AG-FIRMA Ai Agent for Agriculture | RAG ..
AG-FIRMA Ai Agent for Agriculture  | RAG ..AG-FIRMA Ai Agent for Agriculture  | RAG ..
AG-FIRMA Ai Agent for Agriculture | RAG ..
Anass Nabil
 
CompTIA-Security-Study-Guide-with-over-500-Practice-Test-Questions-Exam-SY0-7...
CompTIA-Security-Study-Guide-with-over-500-Practice-Test-Questions-Exam-SY0-7...CompTIA-Security-Study-Guide-with-over-500-Practice-Test-Questions-Exam-SY0-7...
CompTIA-Security-Study-Guide-with-over-500-Practice-Test-Questions-Exam-SY0-7...
emestica1
 
introduction to html and cssIntroHTML.ppt
introduction to html and cssIntroHTML.pptintroduction to html and cssIntroHTML.ppt
introduction to html and cssIntroHTML.ppt
SherifElGohary7
 
Cloud-to-cloud Migration presentation.pptx
Cloud-to-cloud Migration presentation.pptxCloud-to-cloud Migration presentation.pptx
Cloud-to-cloud Migration presentation.pptx
marketing140789
 
学生卡英国RCA毕业证皇家艺术学院电子毕业证学历证书
学生卡英国RCA毕业证皇家艺术学院电子毕业证学历证书学生卡英国RCA毕业证皇家艺术学院电子毕业证学历证书
学生卡英国RCA毕业证皇家艺术学院电子毕业证学历证书
Taqyea
 
Paper: World Game (s) Great Redesign.pdf
Paper: World Game (s) Great Redesign.pdfPaper: World Game (s) Great Redesign.pdf
Paper: World Game (s) Great Redesign.pdf
Steven McGee
 
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness GuideThe Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
The Hidden Risks of Hiring Hackers to Change Grades: An Awareness Guide
russellpeter1995
 
美国文凭明尼苏达大学莫里斯分校毕业证范本UMM学位证书
美国文凭明尼苏达大学莫里斯分校毕业证范本UMM学位证书美国文凭明尼苏达大学莫里斯分校毕业证范本UMM学位证书
美国文凭明尼苏达大学莫里斯分校毕业证范本UMM学位证书
Taqyea
 
Presentation Mehdi Monitorama 2022 Cancer and Monitoring
Presentation Mehdi Monitorama 2022 Cancer and MonitoringPresentation Mehdi Monitorama 2022 Cancer and Monitoring
Presentation Mehdi Monitorama 2022 Cancer and Monitoring
mdaoudi
 
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdfGiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
GiacomoVacca - WebRTC - troubleshooting media negotiation.pdf
Giacomo Vacca
 
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
DEF CON 25 - Whitney-Merrill-and-Terrell-McSweeny-Tick-Tick-Boom-Tech-and-the...
werhkr1
 
ProjectArtificial Intelligence Good or Evil.pptx
ProjectArtificial Intelligence Good or Evil.pptxProjectArtificial Intelligence Good or Evil.pptx
ProjectArtificial Intelligence Good or Evil.pptx
OlenaKotovska
 
Breaking Down the Latest Spectrum Internet Plans.pdf
Breaking Down the Latest Spectrum Internet Plans.pdfBreaking Down the Latest Spectrum Internet Plans.pdf
Breaking Down the Latest Spectrum Internet Plans.pdf
Internet Bundle Now
 
IoT PPT introduction to internet of things
IoT PPT introduction to internet of thingsIoT PPT introduction to internet of things
IoT PPT introduction to internet of things
VaishnaviPatil3995
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
AG-FIRMA Ai Agent for Agriculture | RAG ..
AG-FIRMA Ai Agent for Agriculture  | RAG ..AG-FIRMA Ai Agent for Agriculture  | RAG ..
AG-FIRMA Ai Agent for Agriculture | RAG ..
Anass Nabil
 
CompTIA-Security-Study-Guide-with-over-500-Practice-Test-Questions-Exam-SY0-7...
CompTIA-Security-Study-Guide-with-over-500-Practice-Test-Questions-Exam-SY0-7...CompTIA-Security-Study-Guide-with-over-500-Practice-Test-Questions-Exam-SY0-7...
CompTIA-Security-Study-Guide-with-over-500-Practice-Test-Questions-Exam-SY0-7...
emestica1
 

WP REST API: Actionable.co

  • 1. Blog - shawnhooper.ca
 Twitter - @shawnhooper REST API Case Study: 
 Actionable.co WordCamp Miami 2017
 
 Shawn Hooper Director of IT, actionable.co
  • 2. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 Good Afternoon! I’m Shawn Hooper, the Director of IT at Actionable.co
 Being a distributed company, everything we do is in the cloud…. Actionable
  • 3. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 Our core offering is the Actionable Conversations platform. (NodeJS) Actionable
  • 4. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 Our core offering is the Actionable Conversations platform. (NodeJS) We also have 3 public-facing websites marketing to different audiences (all WordPress). Actionable
  • 5. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 Our core offering is the Actionable Conversations platform. (NodeJS) We also have 3 public-facing websites marketing to different audiences (all WordPress). 
 
 Our Intranet is also a WordPress site. Actionable
  • 6. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 We also use many 3rd party services w/ APIs: Teachable (Online Courses)
 Infusionsoft (CRM)
 Zoom (Webinars & Conference Calls)
 G Suite (Google Apps)
 Xero (Accounting)
 BambooHR (HR Management)
 …. and many more Actionable
  • 7. Blog - shawnhooper.ca
 Twitter - @shawnhooper How we use the REST API…
  • 8. Blog - shawnhooper.ca
 Twitter - @shawnhooper To Manage Content…
  • 9. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 Actionable Conversations 
 Learning & Development Platform
 
 Developed in NodeJS
 
 Our learning modules are content.
 Used the WP REST API to retrieve modules & avoid making a custom CMS.
 Why re-invent the wheel…
  • 10. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 Modified ‘module’ Custom Post Type endpoint
 to return required meta fields with the register_rest_field() function. Why re-invent the wheel…
  • 11. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 Modified ‘module’ Custom Post Type endpoint
 to return required meta fields with the register_rest_field() function.
 
 Wrote a plugin that added WPML information to this post type, showing current locale, and the locale, post ID and permalink to other available languages. Why re-invent the wheel…
  • 12. Blog - shawnhooper.ca
 Twitter - @shawnhooper Linking Between Blogs
  • 13. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 We have three public facing websites with blogs. Using the REST API, we retrieve the most recent post from each blog and display them in a widget on all the sites.
 
 /wp-json/wp/v2/posts/?per_page=1
 
 (Cached for 24 hours) Linking Between Blogs
  • 14. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 We no longer use admin-ajax.php to handle AJAX requests, but REST endpoints instead.
 
 - Better Documented ( wp-json/ )
 - Code re-use from other sites and apps
 
 (Example: Looking up valid email address) Goodbye admin-ajax.php
  • 15. Blog - shawnhooper.ca
 Twitter - @shawnhooper To Optimize…
  • 16. Blog - shawnhooper.ca
 Twitter - @shawnhooper Clearing the Cache
  • 17. Blog - shawnhooper.ca
 Twitter - @shawnhooper Clearing the Cache 
 The data about our consultant network is maintained in one of our internal databases. The page is populated using a shortcode. This is slow. So I cached it. Forever.
  • 18. Blog - shawnhooper.ca
 Twitter - @shawnhooper Clearing the Cache Clear the cache only on data change
  • 19. Blog - shawnhooper.ca
 Twitter - @shawnhooper To Automate…
  • 20. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 Problem: An employee’s manager & HR need to know when a new team member completes their on boarding courses in Teachable. Solution:
 
 Use REST API to accept web hooks from Teachable and then interface with Slack and our HRMS. Teachable Webhooks
  • 21. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 When an opportunity is marked as Closed-Won in Infusionsoft, we automatically create a record in our accounting software using the WP REST API. Infusionsoft -> Xero
  • 22. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 Problem: User Management of Several Websites 
 without Multisite Solution:
 
 Use REST API to remotely create user accounts from an admin page on our Intranet. Bulk User Creation
  • 23. Blog - shawnhooper.ca
 Twitter - @shawnhooper 
 POST /wp/v2/users/ combined with Google Apps Login plugin. Bulk User Creation
  • 24. Blog - shawnhooper.ca
 Twitter - @shawnhooper You can find these slides, notes and more at
 shawnhooper.ca
 
 Tweet Me @shawnhooper
 
 WordPress Slack: shooper Thank You!
  翻译: