SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
@Josh412
Connecting Content
Silos: One CMS, Many
Sites With The
WordPress REST API
@Josh412
CalderaLabs.org
Hi I'm Josh
Lead Developer: CalderaWP
I make WordPress plugins
I teach about WordPress
I wrote a book about the WordPress REST API
I am core contributor to WordPress
I am a member of The WPCrowd
@Josh412
CalderaLabs.org
Introduction:
What Is The REST API?
And why do we care?
@Josh412
CalderaLabs.org
The WordPress REST API
Is Two Things
@Josh412
REST API Infrastructure
Tools for making REST APIs with
WordPress
Included in WordPress 4.4+
The WordPress REST API
Default Routes
WordPress CRUD via REST API
for WordPress content
wordpress.org/plugins/rest-api
@Josh412
Using The REST API For Posts
yoursite.com/wp-json/wp/v2/posts
First page of posts
yoursite.com/wp-json/wp/v2/posts?page=2
Second page of post
yoursite.com/wp-json/wp/v2/posts/42
Post 42
@Josh412
Learn More: Basics
Course:
learn.JoshPress.net
Book:
JPWP.me/rest-book
More:
JoshPress.net/rest-api
@Josh412
CalderaLabs.org
Introduction:
Strategies For
Combining CMSs
Why Do We Want To Do This?
@Josh412
Ways To Combine Posts
With REST API
Client-side
Server-side
Other Ways
RSS
Database sync
Scrape content
@Josh412
CalderaLabs.org
Example One:
JavaScript + Static
HTML
What If We Have No CMS?
@Josh412
CalderaLabs.org
Why Client-side?
No database, no server-side-
scripting?
No Problem!
@Josh412
CalderaLabs.org
Why Client-side?
Local Storage!
@Josh412
var posts1, posts2, posts;
$.get( 'https://calderawp.com/wp-json/wp/v2/posts' ).done( function( r ){
posts1 = r;
});
$.get( 'https://IngotHQ.com/wp-json/wp/v2/posts' ).done( function( r ){
posts2 = r;
});
//errors are about to happen
posts = posts1.concat( posts2 );
console.log( posts );
Promises Will Be Needed!
@Josh412
Promises
$.when( //one or more functions that return a promise ).then( function(){
//stuff to do after all promises are resolved
});
@Josh412
Promises
var posts;
$.when(
$.get( 'https://calderawp.com/wp-json/wp/v2/posts' ).done( function( r ){
return r;
}),
$.get( 'https://IngotHQ.com/wp-json/wp/v2/posts' ).done( function( r ){
posts2 = r;
}) ).then( function( d1, d2 ) {
posts = d1[0].concat( d2[0] );
console.log( posts );
});
@Josh412
API For AJAX and Local Storage
function api( url ) {
var key = 'clCachez' + url.replace(/^https?:///i, "");
var local = localStorage.getItem( key );
//this line uses underscores.js!!
if ( ! _.isString( local ) || "null" == local ) {
return $.get( url ).then( function ( r ) {
localStorage.setItem( key, JSON.stringify( r ) );
return r;
} );
} else {
return JSON.parse( local );
}
};
@Josh412
Sorting
function merge( obj1, obj2 ) {
var merged;
a1 = _.toArray(obj1);
a2 = _.toArray(obj2);
merged = a1.concat(a2);
return merged;
};
function sort( list, sort ) {
var sorted = _.sortBy( list, sort );
return sorted.reverse();
};
@Josh412
Templating
<script type="text/html" id="tmpl--multiblog">
<article class="entry multi-blog-{{prefix}}">
<span class="image">
<img src="placeholder.png" alt="" class="img-{{prefix}}" data-media-id="{{featured_media}}" />
</span>
<a href="{{link}}" title="Read Full Post">
<h2>{{title.rendered}}</h2>
<div class="content">
<p>{{excerpt.rendered}}</p>
</div>
</a>
</article>
</script>
@Josh412
Templating
var posts;
$.when( getCWP(), getIngot() ).then( function( d1, d2 ) {
var all = merge( d1, d2 );
all = sort( all, 'date' );
_.templateSettings = {
interpolate: /{{(.+?)}}/g
};
var html = '';
var templateHTML = document.getElementById( 'tmpl--multiblog' ).innerHTML;
var template = _.template( templateHTML );
var item, templatedItem;
$.each( all, function ( i, post ) {
templatedItem = template( post );
html += templatedItem;
});
document.getElementById( 'posts' ).innerHTML = html;
});
@Josh412
Learn More: Client-Side Solution
All Example Code:
jpwp.me/wpc-js-ex
Article:
torquemag.io/2016/07/combine-wordpress-
sites-rest-api/
See It In Action:
CalderaLabs.org/blog.html
github.com/CalderaWP/calderawp.github.io
@Josh412
CalderaLabs.org
Example Two
PHP + Server-Side
Caching
Wouldn't It Be Better To Cache Server Side?
@Josh412
Structure
-- plugin
---- Endpoint
---- MultiBlog
$caldera = new Endpoint( 'https://CalderaWP.com/wp-json/wp/v2/posts' );
$ingot = new Endpoint( 'https://IngotHQ.com/wp-json/wp/v2/posts' );
$multi = new MultiBlog( 1 );
$posts = $multi->get_posts();
@Josh412
Settings Up Endpoints
class Endpoint {
/** @var string */
protected $url;
/** @var array */
protected $posts = [];
public function __construct( $url ){
$this->url = $url;
$this->get_cache();
}
//REST OF THE CLASS…
}
@Josh412
Settings Up Endpoints
class Endpoint {
/** @var string */
protected $url;
/** @var array */
protected $posts = [];
public function __construct( $url ){
$this->url = $url;
$this->get_cache();
}
//REST OF THE CLASS…
}
@Josh412
Caching Responses
protected function set_cache(){
if ( ! empty( $this->posts ) ) {
set_transient( $this->cache_key(), $this->posts, DAY_IN_SECONDS );
}
}
protected function get_cache(){
if( is_array( $posts = get_transient( $this->cache_key() ) ) ){
$this->posts = $posts;
}
}
protected function cache_key(){
return md5( preg_replace( "(^https?://)", "", $this->url ) );
}
@Josh412
Querying Endpoints
public function get_posts( $page = 1){
if( isset( $this->posts[ $page ] ) ){
return $this->posts[ $page ];
}else{
$this->make_request( $page );
if( isset( $this->posts[ $page ] ) ) {
return $this->posts[ $page ];
}
}
return [];
}
protected function make_request( $page ){
$request = wp_remote_get( add_query_arg( 'page', (int) $page, $this->url ) );
if( ! is_wp_error( $request ) && 200 == wp_remote_retrieve_response_code( $request ) ){
$this->posts[ $page ] = json_decode( wp_remote_retrieve_body( $request ) );
}
}
@Josh412
Merging Our Endpoints
class MultiBlog {
/** @var array */
protected $posts = [];
/** @var array */
protected $endpoints = [];
/** @var bool */
protected $looped = false;
/** @var int */
protected $page;
public function __construct( $page = 1 ){
$this->page = 1;
}
public function add_endpoint( Endpoint $endpoint ){
$this->endpoints[] = $endpoint;
}
//REST OF CLASS…
}
@Josh412
Merging Our Endpoints
class MultiBlog {
/** @var array */
protected $posts = [];
/** @var array */
protected $endpoints = [];
/** @var bool */
protected $looped = false;
/** @var int */
protected $page;
public function __construct( $page = 1 ){
$this->page = 1;
}
public function add_endpoint( Endpoint $endpoint ){
$this->endpoints[] = $endpoint;
}
//REST OF CLASS…
}
@Josh412
Merging Our Endpoints
protected function merge(){
if( ! empty ( $this->endpoints ) ){
/** @var Endpoint $endpoint */
foreach ( $this->endpoints as $endpoint ){
$this->posts[] = $endpoint->get_posts( $this->page );
}
$this->posts = $this->sort( $this->posts );
}
}
protected function sort( array $data ){
usort( $data, function ( $a, $b ) {
return strtotime( $a->date ) - strtotime( $b->date );
} );
return array_reverse( $data );
}
@Josh412
Collecting The Posts
public function get_posts( $page = 1 ){
if( isset( $this->posts[ $page ] ) ){
return $this->posts[ $page ];
}else{
$this->merge();
if( ! empty( $this->posts ) ){
return $this->posts;
}
}
return [];
}
@Josh412
Putting It Together
function multiBlogPosts( $page ) {
$caldera = new Endpoint( 'https://CalderaWP.com/wp-json/wp/v2/posts' );
$ingot = new Endpoint( 'https://IngotHQ.com/wp-json/wp/v2/posts' );
$multi = new MultiBlog( 1 );
return $multi->get_posts( $page );
}
@Josh412
Learn More: Server-Side Solution
All Example Code:
jpwp.me/wpc-ex-php
Article:
torquemag.io/2016/07/combine-wordpress-
sites-rest-api-php/
Widget To Show Remote Posts:
github.com/Shelob9/remote-recent-posts
@Josh412
CalderaLabs.org
Thanks!
Any questions?
@Josh412
CalderaLabs.org
Josh Pollock
JoshPress.net
CalderaLabs.org
CalderaWP.com
IngotHQ.com
@Josh412

Mais conteúdo relacionado

Mais procurados

Head First Zend Framework - Part 1 Project & Application
Head First Zend Framework - Part 1 Project & ApplicationHead First Zend Framework - Part 1 Project & Application
Head First Zend Framework - Part 1 Project & Application
Jace Ju
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
Yehuda Katz
 
Phpne august-2012-symfony-components-friends
Phpne august-2012-symfony-components-friendsPhpne august-2012-symfony-components-friends
Phpne august-2012-symfony-components-friends
Michael Peacock
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Paulo Ragonha
 

Mais procurados (20)

Codeigniter : Two Step View - Concept Implementation
Codeigniter : Two Step View - Concept ImplementationCodeigniter : Two Step View - Concept Implementation
Codeigniter : Two Step View - Concept Implementation
 
RESTful web services
RESTful web servicesRESTful web services
RESTful web services
 
AngularJS with Slim PHP Micro Framework
AngularJS with Slim PHP Micro FrameworkAngularJS with Slim PHP Micro Framework
AngularJS with Slim PHP Micro Framework
 
Bootstrat REST APIs with Laravel 5
Bootstrat REST APIs with Laravel 5Bootstrat REST APIs with Laravel 5
Bootstrat REST APIs with Laravel 5
 
Getting Started-with-Laravel
Getting Started-with-LaravelGetting Started-with-Laravel
Getting Started-with-Laravel
 
Head First Zend Framework - Part 1 Project & Application
Head First Zend Framework - Part 1 Project & ApplicationHead First Zend Framework - Part 1 Project & Application
Head First Zend Framework - Part 1 Project & Application
 
Zend framework
Zend frameworkZend framework
Zend framework
 
Phinx talk
Phinx talkPhinx talk
Phinx talk
 
REST API with CakePHP
REST API with CakePHPREST API with CakePHP
REST API with CakePHP
 
Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
 
Redis for your boss 2.0
Redis for your boss 2.0Redis for your boss 2.0
Redis for your boss 2.0
 
Silex Cheat Sheet
Silex Cheat SheetSilex Cheat Sheet
Silex Cheat Sheet
 
Redis for your boss
Redis for your bossRedis for your boss
Redis for your boss
 
ACL in CodeIgniter
ACL in CodeIgniterACL in CodeIgniter
ACL in CodeIgniter
 
CodeIgniter 3.0
CodeIgniter 3.0CodeIgniter 3.0
CodeIgniter 3.0
 
4.2 PHP Function
4.2 PHP Function4.2 PHP Function
4.2 PHP Function
 
REST APIs in Laravel 101
REST APIs in Laravel 101REST APIs in Laravel 101
REST APIs in Laravel 101
 
Rest api with Python
Rest api with PythonRest api with Python
Rest api with Python
 
Phpne august-2012-symfony-components-friends
Phpne august-2012-symfony-components-friendsPhpne august-2012-symfony-components-friends
Phpne august-2012-symfony-components-friends
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
 

Destaque

WPSessions Composer for WordPress Plugin Development
WPSessions Composer for WordPress Plugin DevelopmentWPSessions Composer for WordPress Plugin Development
WPSessions Composer for WordPress Plugin Development
Caldera Labs
 
How the heck does anyone make money from an API anyway
How the heck does anyone make money from an API anywayHow the heck does anyone make money from an API anyway
How the heck does anyone make money from an API anyway
Greg Kliewer
 

Destaque (20)

Five events in the life of every WordPress request you should know
Five events in the life of every WordPress request you should knowFive events in the life of every WordPress request you should know
Five events in the life of every WordPress request you should know
 
WPSessions Composer for WordPress Plugin Development
WPSessions Composer for WordPress Plugin DevelopmentWPSessions Composer for WordPress Plugin Development
WPSessions Composer for WordPress Plugin Development
 
Josh Pollock #wcatl using composer to increase your word press development po...
Josh Pollock #wcatl using composer to increase your word press development po...Josh Pollock #wcatl using composer to increase your word press development po...
Josh Pollock #wcatl using composer to increase your word press development po...
 
Introduction to AJAX In WordPress
Introduction to AJAX In WordPressIntroduction to AJAX In WordPress
Introduction to AJAX In WordPress
 
Webinar: AngularJS and the WordPress REST API
Webinar: AngularJS and the WordPress REST APIWebinar: AngularJS and the WordPress REST API
Webinar: AngularJS and the WordPress REST API
 
Lean JS Deeply, but don't forget about PHP!
Lean JS Deeply, but don't forget about PHP!Lean JS Deeply, but don't forget about PHP!
Lean JS Deeply, but don't forget about PHP!
 
Introduction to the Pods JSON API
Introduction to the Pods JSON APIIntroduction to the Pods JSON API
Introduction to the Pods JSON API
 
Building a JavaScript App powered by WordPress & AngularJS
Building a JavaScript App powered by WordPress & AngularJSBuilding a JavaScript App powered by WordPress & AngularJS
Building a JavaScript App powered by WordPress & AngularJS
 
Use the Reporting API to Supercharge Your Data
Use the Reporting API to Supercharge Your DataUse the Reporting API to Supercharge Your Data
Use the Reporting API to Supercharge Your Data
 
WP REST API
WP REST APIWP REST API
WP REST API
 
The WordPress REST API as a Springboard for Website Greatness
The WordPress REST API as a Springboard for Website GreatnessThe WordPress REST API as a Springboard for Website Greatness
The WordPress REST API as a Springboard for Website Greatness
 
Spare Me From Your Stupid Slideshow - WordCamp San Diego, 2017
Spare Me From Your Stupid Slideshow - WordCamp San Diego, 2017Spare Me From Your Stupid Slideshow - WordCamp San Diego, 2017
Spare Me From Your Stupid Slideshow - WordCamp San Diego, 2017
 
How the heck does anyone make money from an API anyway
How the heck does anyone make money from an API anywayHow the heck does anyone make money from an API anyway
How the heck does anyone make money from an API anyway
 
Content as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSContent as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMS
 
Vue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.jsVue 2.0 + Vuex Router & Vuex at Vue.js
Vue 2.0 + Vuex Router & Vuex at Vue.js
 
WordPress 4.4 and Beyond
WordPress 4.4 and BeyondWordPress 4.4 and Beyond
WordPress 4.4 and Beyond
 
WordPress: Getting Under the Hood
WordPress: Getting Under the HoodWordPress: Getting Under the Hood
WordPress: Getting Under the Hood
 
API Model Canvas for successful API strategies and programs
API Model Canvas for successful API strategies and programsAPI Model Canvas for successful API strategies and programs
API Model Canvas for successful API strategies and programs
 
State of the Word 2016
State of the Word 2016State of the Word 2016
State of the Word 2016
 
Real World API Business Models That Worked
Real World API Business Models That WorkedReal World API Business Models That Worked
Real World API Business Models That Worked
 

Semelhante a Connecting Content Silos: One CMS, Many Sites With The WordPress REST API

Be RESTful (Symfony Camp 2008)
Be RESTful (Symfony Camp 2008)Be RESTful (Symfony Camp 2008)
Be RESTful (Symfony Camp 2008)
Fabien Potencier
 
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryRemedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Tatsuhiko Miyagawa
 

Semelhante a Connecting Content Silos: One CMS, Many Sites With The WordPress REST API (20)

Doctrine for NoSQL
Doctrine for NoSQLDoctrine for NoSQL
Doctrine for NoSQL
 
Introduction to VueJS & The WordPress REST API
Introduction to VueJS & The WordPress REST APIIntroduction to VueJS & The WordPress REST API
Introduction to VueJS & The WordPress REST API
 
Doctrine and NoSQL
Doctrine and NoSQLDoctrine and NoSQL
Doctrine and NoSQL
 
Create a res tful services api in php.
Create a res tful services api in php.Create a res tful services api in php.
Create a res tful services api in php.
 
Kicking off with Zend Expressive and Doctrine ORM (Sunshine PHP 2017)
Kicking off with Zend Expressive and Doctrine ORM (Sunshine PHP 2017)Kicking off with Zend Expressive and Doctrine ORM (Sunshine PHP 2017)
Kicking off with Zend Expressive and Doctrine ORM (Sunshine PHP 2017)
 
Kicking off with Zend Expressive and Doctrine ORM (PHP UK 2017)
Kicking off with Zend Expressive and Doctrine ORM (PHP UK 2017)Kicking off with Zend Expressive and Doctrine ORM (PHP UK 2017)
Kicking off with Zend Expressive and Doctrine ORM (PHP UK 2017)
 
Using and scaling Rack and Rack-based middleware
Using and scaling Rack and Rack-based middlewareUsing and scaling Rack and Rack-based middleware
Using and scaling Rack and Rack-based middleware
 
Resource Routing in ExpressionEngine
Resource Routing in ExpressionEngineResource Routing in ExpressionEngine
Resource Routing in ExpressionEngine
 
Laravel 101
Laravel 101Laravel 101
Laravel 101
 
WIRED and the WP REST API
WIRED and the WP REST APIWIRED and the WP REST API
WIRED and the WP REST API
 
Be RESTful (Symfony Camp 2008)
Be RESTful (Symfony Camp 2008)Be RESTful (Symfony Camp 2008)
Be RESTful (Symfony Camp 2008)
 
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
Geospatial Graphs made easy with OrientDB - Codemotion Warsaw 2016
 
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
 
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryRemedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
 
WordPress as the Backbone(.js)
WordPress as the Backbone(.js)WordPress as the Backbone(.js)
WordPress as the Backbone(.js)
 
Drupal vs WordPress
Drupal vs WordPressDrupal vs WordPress
Drupal vs WordPress
 
Meet Magento Sweden - Magento 2 Layout and Code Compilation for Performance
Meet Magento Sweden - Magento 2 Layout and Code Compilation for PerformanceMeet Magento Sweden - Magento 2 Layout and Code Compilation for Performance
Meet Magento Sweden - Magento 2 Layout and Code Compilation for Performance
 
async/await in Swift
async/await in Swiftasync/await in Swift
async/await in Swift
 
[WLDN] Supercharging word press development in 2018
[WLDN] Supercharging word press development in 2018[WLDN] Supercharging word press development in 2018
[WLDN] Supercharging word press development in 2018
 
solving little problems
solving little problemssolving little problems
solving little problems
 

Mais de Caldera Labs

Mais de Caldera Labs (10)

Slightly Advanced Topics in Gutenberg Development
Slightly Advanced Topics in Gutenberg Development Slightly Advanced Topics in Gutenberg Development
Slightly Advanced Topics in Gutenberg Development
 
Financial Forecasting For WordPress Businesses
Financial Forecasting For WordPress BusinessesFinancial Forecasting For WordPress Businesses
Financial Forecasting For WordPress Businesses
 
Five Attitudes Stopping You From Building Accessible Wordpress Websites
Five Attitudes Stopping You From Building Accessible Wordpress WebsitesFive Attitudes Stopping You From Building Accessible Wordpress Websites
Five Attitudes Stopping You From Building Accessible Wordpress Websites
 
Our Hybrid Future: WordPress As Part of the Stack #WCNYC
Our Hybrid Future: WordPress As Part of the Stack #WCNYCOur Hybrid Future: WordPress As Part of the Stack #WCNYC
Our Hybrid Future: WordPress As Part of the Stack #WCNYC
 
Our Hybrid Future: WordPress As Part of the Stack
Our Hybrid Future: WordPress As Part of the StackOur Hybrid Future: WordPress As Part of the Stack
Our Hybrid Future: WordPress As Part of the Stack
 
It all starts with a story
It all starts with a storyIt all starts with a story
It all starts with a story
 
A/B Testing FTW
A/B Testing FTWA/B Testing FTW
A/B Testing FTW
 
Content Marketing With WordPress -- Tallahassee WordPress Meetup
Content Marketing With WordPress -- Tallahassee WordPress MeetupContent Marketing With WordPress -- Tallahassee WordPress Meetup
Content Marketing With WordPress -- Tallahassee WordPress Meetup
 
Writing About WordPress: Helping Yourself, by Helping Others -- WordCamp Orl...
Writing About WordPress: Helping Yourself, by Helping Others -- WordCamp Orl...Writing About WordPress: Helping Yourself, by Helping Others -- WordCamp Orl...
Writing About WordPress: Helping Yourself, by Helping Others -- WordCamp Orl...
 
WordPress Tallahassee Meetup: Turning WordPress Sites Into Web & Mobile Apps
WordPress Tallahassee Meetup: Turning WordPress Sites Into Web & Mobile AppsWordPress Tallahassee Meetup: Turning WordPress Sites Into Web & Mobile Apps
WordPress Tallahassee Meetup: Turning WordPress Sites Into Web & Mobile Apps
 

Último

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Último (20)

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

Connecting Content Silos: One CMS, Many Sites With The WordPress REST API