SlideShare a Scribd company logo
Technical Deep Dive into AngularJS and the
WordPress REST API
March 16th, 2016
#wprestapi
Vote for your favorite plugins:
www.pluginmadness.com
Ask Questions as We Go!
Please use the “Questions”
pane throughout the webinar
#wprestapi
Slides and recording will be made available shortly after
the webinar
What We’ll Discuss
Building on last webinar:
The WP REST API as a Springboard for Website Greatness
❖ How to make custom admin interfaces using REST API
and AngularJS
❖ Angular basics with the WordPress REST API
❖ Build a plugin admin screen (Ingot A/B testing)
#wprestapi
Quick Intros!
#wprestapi
Josh Pollock
Owner/Developer,
CalderaWP and Ingot
@josh412
❖ CalderaWP.com
❖ IngotHQ.com
❖ JoshPress.net
Anthony Burchell
Operations Engineer,
WP Engine
@antpb
❖ Started on WordPress 2.8
❖ Casual Core Contributor
❖ Antpb.com
❖ Synth nerd
Is this the new way?
What is the benefit?
● Respects standards &
separation of concerns
● Relatively easy to
learn
● Testable
● Someone else pays to
maintain it.
#thanksgoogle
But admin-ajax!
Custom or Default Routes
#wprestapi
Use Default Routes
❖ Install the plugin
❖ https://wordpress.org/plugins/r
est-api/
Make Your Own Endpoints
❖ Make your own API with
WordPress 4.4+
❖ Talk: video, slides & links
❖ Torque Article
Part One
MVC
MVCMVC
●Model
●View
●Controller
MVCModel
The model is the current set of
data, defined by the controller,
displayed by the view.
MVC$scope
Current state of the
model. Defined in
controller - used in
view.
MVCView
● The visual representation of
the data.
● In Angular this is an HTML
file.
MVCController
● Keeps the models up-to-
date using the remote API.
● Updates the model based on
your interactions with the
view.
Part Two
Bindings
MVCBindings
● Connects views to
controllers.
● HTML5 Attributes
● Template Tags: Curly
Brackets
<div ng-controller="postExample">
<form>
<input type="text" ng-model="post.title" />
</form>
<div>{{post.title}}</div>
</div>
Controller
MVCBindings
● Use controller function to
create controller...
● $scope is available in view
Template
(function(angular) {
'use strict';
angular.module('learnAngular', [])
.controller('postExample', ['$scope',
function($scope) {
$scope.post = {
title: 'Enter Title'
};
}]);
})(window.angular);
MVCBindings
● Bindings can be used to call
functions
● Examples:
○ ng-submit
○ ng-hide
Views
<div ng-controller="postExample">
<form ng-submit="submit()">
<input type="text" ng-model="post.title" />
<input type="submit" value="Save" ng-
hide="post.title == 'Enter Title'" />
</form>
<div>{{post.title}}</div>
</div>
MVCBindings
● Define functions for view on
$scope.
● Example: $scope.submit
Controller
(function(angular) {
'use strict';
angular.module('learnAngular', [])
.controller('postExample', ['$scope',
function($scope) {
$scope.post = {
title: 'Enter Title'
};
$scope.submit = function(){
alert( 'saving' );
}
}]);
})(window.angular);
MVCBindings
● ng-repeat:
○ Repeat items (like a list
of posts)
Views
<div ng-controller="postsExample">
<h3>Posts:</h3>
<div ng-repeat="post in posts">
{{post.title}}
</div>
</div>
MVCBindings
● Look mom, two controllers!
● Iterating over posts array.
(function(angular) {
'use strict';
angular.module('learnAngular', [])
.controller('postExample', ['$scope', function($scope) {
$scope.post = {
title: 'Enter Title'
};
$scope.submit = function(){
alert( 'saving' );
}
}]).controller('postsExample', ['$scope', function($scope) {
$scope.posts = [
{ title: 'Post One' },
{ title: 'Post Two' }
];
}]);
})(window.angular);
Making your own
Super Fast Super Fancy Admin Interface!
Or….
SFSFAI!
This is going to catch on...
Making your own
Super Fast Super Fancy Admin Interface!
MVCAngular
UI Router
● What URL uses what
controller and template?
● http://jpwp.me/ingot-router
ingotApp.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
//click tests
.state('clickTests', {
url: "/click-tests",
templateUrl: INGOT_ADMIN.partials + "/click-groups.html"
})
.state('clickTests.list', {
url: "/click-tests/all",
templateUrl: INGOT_ADMIN.partials + "/list.html",
controller: 'clickGroups'
} )
.state('clickTests.edit', {
url: "/click-tests/edit/:groupID",
templateUrl: INGOT_ADMIN.partials + "/click-group.html",
controller: 'clickGroup'
} )
.state('clickTests.new', {
url: "/click-tests/new",
templateUrl: INGOT_ADMIN.partials + "/click-group.html",
controller: 'clickGroup'
} )
});
MVCStart it up
● Include dependencies
● Adding translations to
$rootScope
var ingotApp = angular.module('ingotApp', [
'ui.router',
'ui.bootstrap',
'colorpicker.module',
'ngAria',
'ngResource',
'ngclipboard',
'ngSanitize'
] )
.run( function( $rootScope, $state ) {
$rootScope.translate = INGOT_TRANSLATION;
$rootScope.partials_url = INGOT_ADMIN.partials;
}
);
MVCAngular
$http
● Similar to jQuery AJAX
● Use to update $scope and
$state
ingotApp.controller( 'clickDelete', ['$scope', '$http',
'$stateParams', '$state', function( $scope, $http, $stateParams,
$state ){
$http({
url: INGOT_ADMIN.api + 'groups/' + $stateParams.groupID +
'?_wpnonce=' + INGOT_ADMIN.nonce,
method:'DELETE',
headers: {
'X-WP-Nonce': INGOT_ADMIN.nonce
}
} ).then(
function successCallback() {
swal( INGOT_TRANSLATION.deleted, "", "success" );
$scope.group = {};
$state.go('clickTests.list' );
}, function errorCallback( response ) {
var data = response.data;
var text = INGOT_TRANSLATION.sorry;
if( _.isObject( data ) && _.isDefined( data.message
) ){
text = data.message;
}
$state.go('clickTests.list' );
}
);
}]);
MVCFactories
● Reusable code for HTTP
● Makes data an injected
dependency -- easily
mocked/ modified
● http://jpwp.me/ingot-factory
ingotApp.factory( 'groupsFactory', function( $resource ) {
return $resource( INGOT_ADMIN.api + 'groups/:id', {
id: '@id',
_wpnonce: INGOT_ADMIN.nonce,
context: 'admin'
},{
'query' : {
transformResponse:
function( data, headers ) {
var
response = {
data: data,
headers: headers()
};
return
response;
}
},
'update':{
method:'PUT',
headers: {
'X-WP-Nonce': INGOT_ADMIN.nonce
}
},
MVCFactories
● Think of it as your own API
client
● http://jpwp.me/ingot-factory-
in-use
ingotApp.controller( 'clickGroups', ['$scope', '$http',
'groupsFactory', '$sce', function( $scope, $http, groupsFactory,
$sce ) {
var page_limit = 10;
$scope.description = $sce.trustAsHtml(
INGOT_TRANSLATION.descriptions.click );
groupsFactory.query( {
page: 1,
limit: page_limit,
context: 'admin',
type: 'click'
}, function ( res ) {
if ( res.data.indexOf( 'No matching' ) > -1 ) {
$scope.groups = {};
return;
};
$scope.groups = JSON.parse( res.data );
var total_groups = parseInt( res.headers[ 'x-ingot-total'
] );
var total_pages = total_groups / page_limit;
$scope.total_pages = new Array( Math.round( total_pages )
);
$scope.groups.shortcode = [];
} );
}]);
Resources
❖eBook: The Ultimate Guide to the WordPress REST API
http://wpeng.in/rest-api-ebook/
❖Article: Basics of AngularJS with the WordPress REST API
http://torquemag.io/2016/02/basics-of-angularjs-with-the-wordpress-rest-
api/
❖Building Apps with the WordPress REST API
https://learn.joshpress.net/downloads/building-apps-wordpress-rest-api/
❖Creating a Javascript Single Page App in the WordPress Dashboard
http://torquemag.io/2015/12/creating-javascript-single-page-app-wordpress-
dashboard/
#wprestapi
CalderaWP
REST API Course
CalderaWP.com
Q&A
Feel free to ask away in
the “Questions” pane!
Are you an agency or freelancer?
● Finish more sites in less time
● Unlimited staging installs for WordPress projects for as little
as $29 per month.
Ask about qualifying for a listing in our online consultants’ directory!
Call +1-512-827-3500, or
Chat with us wpengine.com
Myths, Mistakes & Management of WooCommerce at Scale
Wednesday, April 13th, 12 pm EDT/ 11 am CDT/ 9 am PDT/ 5 pm GMT+1
Register Now! http://wpeng.in/woo/
❖ Myths associated with scaling WooCommerce
❖ Mistakes and how to avoid them
❖ How to pick development and hosting partners
Next
Next Webinar

More Related Content

What's hot

Security Webinar: Harden the Heart of Your WordPress SiteSe
Security Webinar: Harden the Heart of Your WordPress SiteSeSecurity Webinar: Harden the Heart of Your WordPress SiteSe
Security Webinar: Harden the Heart of Your WordPress SiteSe
WP Engine
 
WordPress Management & Marketing Tools
WordPress Management & Marketing ToolsWordPress Management & Marketing Tools
WordPress Management & Marketing Tools
WP Engine
 
How WPMaintain Improved Page Speed by 16%
How WPMaintain Improved Page Speed by 16%How WPMaintain Improved Page Speed by 16%
How WPMaintain Improved Page Speed by 16%
WP Engine UK
 
Wp snapper review
Wp snapper reviewWp snapper review
Wp snapper review
Dilip Kumar
 
SEO Myths & WP Magic - WordCamp Boston 2011
SEO Myths & WP Magic - WordCamp Boston 2011SEO Myths & WP Magic - WordCamp Boston 2011
SEO Myths & WP Magic - WordCamp Boston 2011Casie Gillette
 
Technical SEO for WordPress
Technical SEO for WordPressTechnical SEO for WordPress
Technical SEO for WordPress
Otto Kekäläinen
 
Increasing Traffic Through Optimization : The Importance of Site Speed
Increasing Traffic Through Optimization : The Importance of Site SpeedIncreasing Traffic Through Optimization : The Importance of Site Speed
Increasing Traffic Through Optimization : The Importance of Site Speed
Terell Moore
 
WP-CLI: WordCamp NYC 2015
WP-CLI: WordCamp NYC 2015WP-CLI: WordCamp NYC 2015
WP-CLI: WordCamp NYC 2015
Terell Moore
 
Top 10 WordPress Plugins
Top 10 WordPress PluginsTop 10 WordPress Plugins
Top 10 WordPress Plugins
Manny Sarmiento
 
Ember
EmberEmber
WordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPressWordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPress
Jonny Allbut
 
Using Page Builders For Fun And Profit
Using Page Builders For Fun And ProfitUsing Page Builders For Fun And Profit
Using Page Builders For Fun And Profit
WordCamp Sydney
 
Rapid WordPress theme development
Rapid WordPress theme developmentRapid WordPress theme development
Rapid WordPress theme development
Jonny Allbut
 
10 things Not To Do With WordPress
10 things Not To Do With WordPress10 things Not To Do With WordPress
10 things Not To Do With WordPress
Ricky Blacker
 
WordCamp Mumbai 2017: How to get more involved with WordPress
WordCamp Mumbai 2017: How to get more involved with WordPressWordCamp Mumbai 2017: How to get more involved with WordPress
WordCamp Mumbai 2017: How to get more involved with WordPress
Rocío Valdivia
 
Introduction To JavaScript
Introduction To JavaScriptIntroduction To JavaScript
Introduction To JavaScript
Khadija Khalid
 
10 Things Not To Do With WordPress
10 Things Not To Do With WordPress10 Things Not To Do With WordPress
10 Things Not To Do With WordPress
WordPress Sydney
 
WordPress SEO Site Optimization Strategies & Techniques
WordPress SEO Site Optimization Strategies & TechniquesWordPress SEO Site Optimization Strategies & Techniques
WordPress SEO Site Optimization Strategies & TechniquesJeff Kemp
 
WordPress with WP Engine and the Agency Partner Program: Getting Set Up
WordPress with WP Engine and the Agency Partner Program: Getting Set UpWordPress with WP Engine and the Agency Partner Program: Getting Set Up
WordPress with WP Engine and the Agency Partner Program: Getting Set Up
WP Engine
 
Analysis report didm
Analysis report didmAnalysis report didm
Analysis report didm
riyabansal29
 

What's hot (20)

Security Webinar: Harden the Heart of Your WordPress SiteSe
Security Webinar: Harden the Heart of Your WordPress SiteSeSecurity Webinar: Harden the Heart of Your WordPress SiteSe
Security Webinar: Harden the Heart of Your WordPress SiteSe
 
WordPress Management & Marketing Tools
WordPress Management & Marketing ToolsWordPress Management & Marketing Tools
WordPress Management & Marketing Tools
 
How WPMaintain Improved Page Speed by 16%
How WPMaintain Improved Page Speed by 16%How WPMaintain Improved Page Speed by 16%
How WPMaintain Improved Page Speed by 16%
 
Wp snapper review
Wp snapper reviewWp snapper review
Wp snapper review
 
SEO Myths & WP Magic - WordCamp Boston 2011
SEO Myths & WP Magic - WordCamp Boston 2011SEO Myths & WP Magic - WordCamp Boston 2011
SEO Myths & WP Magic - WordCamp Boston 2011
 
Technical SEO for WordPress
Technical SEO for WordPressTechnical SEO for WordPress
Technical SEO for WordPress
 
Increasing Traffic Through Optimization : The Importance of Site Speed
Increasing Traffic Through Optimization : The Importance of Site SpeedIncreasing Traffic Through Optimization : The Importance of Site Speed
Increasing Traffic Through Optimization : The Importance of Site Speed
 
WP-CLI: WordCamp NYC 2015
WP-CLI: WordCamp NYC 2015WP-CLI: WordCamp NYC 2015
WP-CLI: WordCamp NYC 2015
 
Top 10 WordPress Plugins
Top 10 WordPress PluginsTop 10 WordPress Plugins
Top 10 WordPress Plugins
 
Ember
EmberEmber
Ember
 
WordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPressWordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPress
 
Using Page Builders For Fun And Profit
Using Page Builders For Fun And ProfitUsing Page Builders For Fun And Profit
Using Page Builders For Fun And Profit
 
Rapid WordPress theme development
Rapid WordPress theme developmentRapid WordPress theme development
Rapid WordPress theme development
 
10 things Not To Do With WordPress
10 things Not To Do With WordPress10 things Not To Do With WordPress
10 things Not To Do With WordPress
 
WordCamp Mumbai 2017: How to get more involved with WordPress
WordCamp Mumbai 2017: How to get more involved with WordPressWordCamp Mumbai 2017: How to get more involved with WordPress
WordCamp Mumbai 2017: How to get more involved with WordPress
 
Introduction To JavaScript
Introduction To JavaScriptIntroduction To JavaScript
Introduction To JavaScript
 
10 Things Not To Do With WordPress
10 Things Not To Do With WordPress10 Things Not To Do With WordPress
10 Things Not To Do With WordPress
 
WordPress SEO Site Optimization Strategies & Techniques
WordPress SEO Site Optimization Strategies & TechniquesWordPress SEO Site Optimization Strategies & Techniques
WordPress SEO Site Optimization Strategies & Techniques
 
WordPress with WP Engine and the Agency Partner Program: Getting Set Up
WordPress with WP Engine and the Agency Partner Program: Getting Set UpWordPress with WP Engine and the Agency Partner Program: Getting Set Up
WordPress with WP Engine and the Agency Partner Program: Getting Set Up
 
Analysis report didm
Analysis report didmAnalysis report didm
Analysis report didm
 

Viewers also liked

Laravel Restful API and AngularJS
Laravel Restful API and AngularJSLaravel Restful API and AngularJS
Laravel Restful API and AngularJSBlake Newman
 
WordPress: React Way
WordPress: React WayWordPress: React Way
WordPress: React Way
Oleksandr Strikha
 
WP Engine #WooConf 2016: Top Live Tweet Quotes
WP Engine #WooConf 2016: Top Live Tweet QuotesWP Engine #WooConf 2016: Top Live Tweet Quotes
WP Engine #WooConf 2016: Top Live Tweet Quotes
WP Engine
 
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
WP Engine UK
 
Personalization With WordPress - Interactive Strategies 2016
Personalization With WordPress - Interactive Strategies 2016Personalization With WordPress - Interactive Strategies 2016
Personalization With WordPress - Interactive Strategies 2016
WP Engine
 
8 Hidden Features on WordPress
8 Hidden Features on WordPress8 Hidden Features on WordPress
8 Hidden Features on WordPress
WP Engine
 
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
Roy Sivan
 
Today's Security Threat Landscape
Today's Security Threat LandscapeToday's Security Threat Landscape
Today's Security Threat Landscape
WP Engine
 
Introduction to plugin development
Introduction to plugin developmentIntroduction to plugin development
Introduction to plugin development
Caldera Labs
 
Introduction to AngularJS For WordPress Developers
Introduction to AngularJS For WordPress DevelopersIntroduction to AngularJS For WordPress Developers
Introduction to AngularJS For WordPress Developers
Caldera Labs
 
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Caldera Labs
 
Your Workflow, Your Way with WP Engine
Your Workflow, Your Way with WP EngineYour Workflow, Your Way with WP Engine
Your Workflow, Your Way with WP Engine
WP Engine UK
 
The Future of Analytics: Multichannel Attribution
The Future of Analytics: Multichannel Attribution The Future of Analytics: Multichannel Attribution
The Future of Analytics: Multichannel Attribution
WP Engine UK
 
Webinar: Experts Weigh in on the State of WordPress for 2017
Webinar: Experts Weigh in on the State of WordPress for 2017Webinar: Experts Weigh in on the State of WordPress for 2017
Webinar: Experts Weigh in on the State of WordPress for 2017
WP Engine
 
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
WP Engine UK
 

Viewers also liked (16)

Xmll
XmllXmll
Xmll
 
Laravel Restful API and AngularJS
Laravel Restful API and AngularJSLaravel Restful API and AngularJS
Laravel Restful API and AngularJS
 
WordPress: React Way
WordPress: React WayWordPress: React Way
WordPress: React Way
 
WP Engine #WooConf 2016: Top Live Tweet Quotes
WP Engine #WooConf 2016: Top Live Tweet QuotesWP Engine #WooConf 2016: Top Live Tweet Quotes
WP Engine #WooConf 2016: Top Live Tweet Quotes
 
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
 
Personalization With WordPress - Interactive Strategies 2016
Personalization With WordPress - Interactive Strategies 2016Personalization With WordPress - Interactive Strategies 2016
Personalization With WordPress - Interactive Strategies 2016
 
8 Hidden Features on WordPress
8 Hidden Features on WordPress8 Hidden Features on WordPress
8 Hidden Features on WordPress
 
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
 
Today's Security Threat Landscape
Today's Security Threat LandscapeToday's Security Threat Landscape
Today's Security Threat Landscape
 
Introduction to plugin development
Introduction to plugin developmentIntroduction to plugin development
Introduction to plugin development
 
Introduction to AngularJS For WordPress Developers
Introduction to AngularJS For WordPress DevelopersIntroduction to AngularJS For WordPress Developers
Introduction to AngularJS For WordPress Developers
 
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
Single Page Web Apps As WordPress Admin Interfaces Using AngularJS & The Word...
 
Your Workflow, Your Way with WP Engine
Your Workflow, Your Way with WP EngineYour Workflow, Your Way with WP Engine
Your Workflow, Your Way with WP Engine
 
The Future of Analytics: Multichannel Attribution
The Future of Analytics: Multichannel Attribution The Future of Analytics: Multichannel Attribution
The Future of Analytics: Multichannel Attribution
 
Webinar: Experts Weigh in on the State of WordPress for 2017
Webinar: Experts Weigh in on the State of WordPress for 2017Webinar: Experts Weigh in on the State of WordPress for 2017
Webinar: Experts Weigh in on the State of WordPress for 2017
 
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
 

Similar to Webinar: AngularJS and the WordPress REST API

Introduction of angular js
Introduction of angular jsIntroduction of angular js
Introduction of angular js
Tamer Solieman
 
AngularJS for Java Developers
AngularJS for Java DevelopersAngularJS for Java Developers
AngularJS for Java Developers
Loc Nguyen
 
WordPress as a Platform - talk to Bristol Open Source Meetup, 2014-12-08
WordPress as a Platform - talk to Bristol Open Source Meetup, 2014-12-08WordPress as a Platform - talk to Bristol Open Source Meetup, 2014-12-08
WordPress as a Platform - talk to Bristol Open Source Meetup, 2014-12-08
Tim Stephenson
 
AngularJS Workshop
AngularJS WorkshopAngularJS Workshop
AngularJS Workshop
Gianluca Cacace
 
243329387 angular-docs
243329387 angular-docs243329387 angular-docs
243329387 angular-docs
Abhi166803
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJS
Antonio Peric-Mazar
 
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Fwdays
 
Dive into AngularJS and directives
Dive into AngularJS and directivesDive into AngularJS and directives
Dive into AngularJS and directives
Tricode (part of Dept)
 
Course CodeSchool - Shaping up with Angular.js
Course CodeSchool - Shaping up with Angular.jsCourse CodeSchool - Shaping up with Angular.js
Course CodeSchool - Shaping up with Angular.js
Vinícius de Moraes
 
AngularJs Crash Course
AngularJs Crash CourseAngularJs Crash Course
AngularJs Crash Course
Keith Bloomfield
 
Basics of AngularJS
Basics of AngularJSBasics of AngularJS
Basics of AngularJS
Filip Janevski
 
[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development
Adam Tomat
 
Nicolas Embleton, Advanced Angular JS
Nicolas Embleton, Advanced Angular JSNicolas Embleton, Advanced Angular JS
Nicolas Embleton, Advanced Angular JS
JavaScript Meetup HCMC
 
Sprint 17
Sprint 17Sprint 17
Sprint 17
ManageIQ
 
Building ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsBuilding ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS Applications
ColdFusionConference
 
Design Summit - UI Roadmap - Dan Clarizio, Martin Povolny
Design Summit - UI Roadmap - Dan Clarizio, Martin PovolnyDesign Summit - UI Roadmap - Dan Clarizio, Martin Povolny
Design Summit - UI Roadmap - Dan Clarizio, Martin Povolny
ManageIQ
 
Writing Gadgets with the WSO2 Gadget Server
Writing Gadgets with the WSO2 Gadget ServerWriting Gadgets with the WSO2 Gadget Server
Writing Gadgets with the WSO2 Gadget ServerWSO2
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
Jussi Pohjolainen
 
GDayX - Advanced Angular.JS
GDayX - Advanced Angular.JSGDayX - Advanced Angular.JS
GDayX - Advanced Angular.JS
Nicolas Embleton
 

Similar to Webinar: AngularJS and the WordPress REST API (20)

Introduction of angular js
Introduction of angular jsIntroduction of angular js
Introduction of angular js
 
AngularJS for Java Developers
AngularJS for Java DevelopersAngularJS for Java Developers
AngularJS for Java Developers
 
WordPress as a Platform - talk to Bristol Open Source Meetup, 2014-12-08
WordPress as a Platform - talk to Bristol Open Source Meetup, 2014-12-08WordPress as a Platform - talk to Bristol Open Source Meetup, 2014-12-08
WordPress as a Platform - talk to Bristol Open Source Meetup, 2014-12-08
 
Introduction to angular js
Introduction to angular jsIntroduction to angular js
Introduction to angular js
 
AngularJS Workshop
AngularJS WorkshopAngularJS Workshop
AngularJS Workshop
 
243329387 angular-docs
243329387 angular-docs243329387 angular-docs
243329387 angular-docs
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJS
 
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
 
Dive into AngularJS and directives
Dive into AngularJS and directivesDive into AngularJS and directives
Dive into AngularJS and directives
 
Course CodeSchool - Shaping up with Angular.js
Course CodeSchool - Shaping up with Angular.jsCourse CodeSchool - Shaping up with Angular.js
Course CodeSchool - Shaping up with Angular.js
 
AngularJs Crash Course
AngularJs Crash CourseAngularJs Crash Course
AngularJs Crash Course
 
Basics of AngularJS
Basics of AngularJSBasics of AngularJS
Basics of AngularJS
 
[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development
 
Nicolas Embleton, Advanced Angular JS
Nicolas Embleton, Advanced Angular JSNicolas Embleton, Advanced Angular JS
Nicolas Embleton, Advanced Angular JS
 
Sprint 17
Sprint 17Sprint 17
Sprint 17
 
Building ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsBuilding ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS Applications
 
Design Summit - UI Roadmap - Dan Clarizio, Martin Povolny
Design Summit - UI Roadmap - Dan Clarizio, Martin PovolnyDesign Summit - UI Roadmap - Dan Clarizio, Martin Povolny
Design Summit - UI Roadmap - Dan Clarizio, Martin Povolny
 
Writing Gadgets with the WSO2 Gadget Server
Writing Gadgets with the WSO2 Gadget ServerWriting Gadgets with the WSO2 Gadget Server
Writing Gadgets with the WSO2 Gadget Server
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
GDayX - Advanced Angular.JS
GDayX - Advanced Angular.JSGDayX - Advanced Angular.JS
GDayX - Advanced Angular.JS
 

More from WP Engine

More Dev. Less Drama.pdf
More Dev. Less Drama.pdfMore Dev. Less Drama.pdf
More Dev. Less Drama.pdf
WP Engine
 
Why the Edge Isn't an Edge Case.pdf
Why the Edge Isn't an Edge Case.pdfWhy the Edge Isn't an Edge Case.pdf
Why the Edge Isn't an Edge Case.pdf
WP Engine
 
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdfPost eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
WP Engine
 
Demo - New Features for Atlas.pdf
Demo - New Features for Atlas.pdfDemo - New Features for Atlas.pdf
Demo - New Features for Atlas.pdf
WP Engine
 
Debunking The Myths of Migration.pdf
Debunking The Myths of Migration.pdfDebunking The Myths of Migration.pdf
Debunking The Myths of Migration.pdf
WP Engine
 
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdfKeeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
WP Engine
 
Building WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdfBuilding WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdf
WP Engine
 
When to Choose Headless for Clients.pdf
When to Choose Headless for Clients.pdfWhen to Choose Headless for Clients.pdf
When to Choose Headless for Clients.pdf
WP Engine
 
Best Practices for Site Deployment With Local.pdf
Best Practices for Site Deployment With Local.pdfBest Practices for Site Deployment With Local.pdf
Best Practices for Site Deployment With Local.pdf
WP Engine
 
Site Monitoring: The Intersection of Product, UX Design & Research .pdf
Site Monitoring: The Intersection of Product, UX Design & Research .pdfSite Monitoring: The Intersection of Product, UX Design & Research .pdf
Site Monitoring: The Intersection of Product, UX Design & Research .pdf
WP Engine
 
Front End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdfFront End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdf
WP Engine
 
Gutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdfGutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdf
WP Engine
 
Blueprints and Other Local Features for Agencies.pdf
Blueprints and Other Local Features for Agencies.pdfBlueprints and Other Local Features for Agencies.pdf
Blueprints and Other Local Features for Agencies.pdf
WP Engine
 
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
WP Engine
 
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
WP Engine
 
Headless 101 for WordPress Developers.pdf
Headless 101 for WordPress Developers.pdfHeadless 101 for WordPress Developers.pdf
Headless 101 for WordPress Developers.pdf
WP Engine
 
Be the Change: The Future of WordPress with WP Engine's Developer Relations Team
Be the Change: The Future of WordPress with WP Engine's Developer Relations TeamBe the Change: The Future of WordPress with WP Engine's Developer Relations Team
Be the Change: The Future of WordPress with WP Engine's Developer Relations Team
WP Engine
 
An Atlas of Atlas.pdf
An Atlas of Atlas.pdfAn Atlas of Atlas.pdf
An Atlas of Atlas.pdf
WP Engine
 
2022 – Year of the WordPress Developer.pdf
2022 – Year of the WordPress Developer.pdf2022 – Year of the WordPress Developer.pdf
2022 – Year of the WordPress Developer.pdf
WP Engine
 
Using WooCommerce to Scale Your Store
Using WooCommerce to Scale Your StoreUsing WooCommerce to Scale Your Store
Using WooCommerce to Scale Your Store
WP Engine
 

More from WP Engine (20)

More Dev. Less Drama.pdf
More Dev. Less Drama.pdfMore Dev. Less Drama.pdf
More Dev. Less Drama.pdf
 
Why the Edge Isn't an Edge Case.pdf
Why the Edge Isn't an Edge Case.pdfWhy the Edge Isn't an Edge Case.pdf
Why the Edge Isn't an Edge Case.pdf
 
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdfPost eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
Post eCommerce Site Launch- Optimizing Your Conversion Rate.pdf
 
Demo - New Features for Atlas.pdf
Demo - New Features for Atlas.pdfDemo - New Features for Atlas.pdf
Demo - New Features for Atlas.pdf
 
Debunking The Myths of Migration.pdf
Debunking The Myths of Migration.pdfDebunking The Myths of Migration.pdf
Debunking The Myths of Migration.pdf
 
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdfKeeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
Keeping Your WordPress Sites Safe Amidst A Rise in Global Cyberattacks.pdf
 
Building WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdfBuilding WordPress eCommerce at Scale .pdf
Building WordPress eCommerce at Scale .pdf
 
When to Choose Headless for Clients.pdf
When to Choose Headless for Clients.pdfWhen to Choose Headless for Clients.pdf
When to Choose Headless for Clients.pdf
 
Best Practices for Site Deployment With Local.pdf
Best Practices for Site Deployment With Local.pdfBest Practices for Site Deployment With Local.pdf
Best Practices for Site Deployment With Local.pdf
 
Site Monitoring: The Intersection of Product, UX Design & Research .pdf
Site Monitoring: The Intersection of Product, UX Design & Research .pdfSite Monitoring: The Intersection of Product, UX Design & Research .pdf
Site Monitoring: The Intersection of Product, UX Design & Research .pdf
 
Front End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdfFront End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdf
 
Gutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdfGutenberg and Headless WordPress.pdf
Gutenberg and Headless WordPress.pdf
 
Blueprints and Other Local Features for Agencies.pdf
Blueprints and Other Local Features for Agencies.pdfBlueprints and Other Local Features for Agencies.pdf
Blueprints and Other Local Features for Agencies.pdf
 
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
Modern Theming & The Future of WordPress- Working with Full Site Editing and ...
 
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
6 WooCommerce Dev Tricks for Building Fast eCommerce Websites.pdf
 
Headless 101 for WordPress Developers.pdf
Headless 101 for WordPress Developers.pdfHeadless 101 for WordPress Developers.pdf
Headless 101 for WordPress Developers.pdf
 
Be the Change: The Future of WordPress with WP Engine's Developer Relations Team
Be the Change: The Future of WordPress with WP Engine's Developer Relations TeamBe the Change: The Future of WordPress with WP Engine's Developer Relations Team
Be the Change: The Future of WordPress with WP Engine's Developer Relations Team
 
An Atlas of Atlas.pdf
An Atlas of Atlas.pdfAn Atlas of Atlas.pdf
An Atlas of Atlas.pdf
 
2022 – Year of the WordPress Developer.pdf
2022 – Year of the WordPress Developer.pdf2022 – Year of the WordPress Developer.pdf
2022 – Year of the WordPress Developer.pdf
 
Using WooCommerce to Scale Your Store
Using WooCommerce to Scale Your StoreUsing WooCommerce to Scale Your Store
Using WooCommerce to Scale Your Store
 

Recently uploaded

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 

Recently uploaded (20)

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 

Webinar: AngularJS and the WordPress REST API

  • 1. Technical Deep Dive into AngularJS and the WordPress REST API March 16th, 2016 #wprestapi Vote for your favorite plugins: www.pluginmadness.com
  • 2. Ask Questions as We Go! Please use the “Questions” pane throughout the webinar #wprestapi Slides and recording will be made available shortly after the webinar
  • 3. What We’ll Discuss Building on last webinar: The WP REST API as a Springboard for Website Greatness ❖ How to make custom admin interfaces using REST API and AngularJS ❖ Angular basics with the WordPress REST API ❖ Build a plugin admin screen (Ingot A/B testing) #wprestapi
  • 4. Quick Intros! #wprestapi Josh Pollock Owner/Developer, CalderaWP and Ingot @josh412 ❖ CalderaWP.com ❖ IngotHQ.com ❖ JoshPress.net Anthony Burchell Operations Engineer, WP Engine @antpb ❖ Started on WordPress 2.8 ❖ Casual Core Contributor ❖ Antpb.com ❖ Synth nerd
  • 5. Is this the new way?
  • 6. What is the benefit? ● Respects standards & separation of concerns ● Relatively easy to learn ● Testable ● Someone else pays to maintain it. #thanksgoogle
  • 8. Custom or Default Routes #wprestapi Use Default Routes ❖ Install the plugin ❖ https://wordpress.org/plugins/r est-api/ Make Your Own Endpoints ❖ Make your own API with WordPress 4.4+ ❖ Talk: video, slides & links ❖ Torque Article
  • 11. MVCModel The model is the current set of data, defined by the controller, displayed by the view.
  • 12. MVC$scope Current state of the model. Defined in controller - used in view.
  • 13. MVCView ● The visual representation of the data. ● In Angular this is an HTML file.
  • 14. MVCController ● Keeps the models up-to- date using the remote API. ● Updates the model based on your interactions with the view.
  • 16. MVCBindings ● Connects views to controllers. ● HTML5 Attributes ● Template Tags: Curly Brackets <div ng-controller="postExample"> <form> <input type="text" ng-model="post.title" /> </form> <div>{{post.title}}</div> </div> Controller
  • 17. MVCBindings ● Use controller function to create controller... ● $scope is available in view Template (function(angular) { 'use strict'; angular.module('learnAngular', []) .controller('postExample', ['$scope', function($scope) { $scope.post = { title: 'Enter Title' }; }]); })(window.angular);
  • 18. MVCBindings ● Bindings can be used to call functions ● Examples: ○ ng-submit ○ ng-hide Views <div ng-controller="postExample"> <form ng-submit="submit()"> <input type="text" ng-model="post.title" /> <input type="submit" value="Save" ng- hide="post.title == 'Enter Title'" /> </form> <div>{{post.title}}</div> </div>
  • 19. MVCBindings ● Define functions for view on $scope. ● Example: $scope.submit Controller (function(angular) { 'use strict'; angular.module('learnAngular', []) .controller('postExample', ['$scope', function($scope) { $scope.post = { title: 'Enter Title' }; $scope.submit = function(){ alert( 'saving' ); } }]); })(window.angular);
  • 20. MVCBindings ● ng-repeat: ○ Repeat items (like a list of posts) Views <div ng-controller="postsExample"> <h3>Posts:</h3> <div ng-repeat="post in posts"> {{post.title}} </div> </div>
  • 21. MVCBindings ● Look mom, two controllers! ● Iterating over posts array. (function(angular) { 'use strict'; angular.module('learnAngular', []) .controller('postExample', ['$scope', function($scope) { $scope.post = { title: 'Enter Title' }; $scope.submit = function(){ alert( 'saving' ); } }]).controller('postsExample', ['$scope', function($scope) { $scope.posts = [ { title: 'Post One' }, { title: 'Post Two' } ]; }]); })(window.angular);
  • 22. Making your own Super Fast Super Fancy Admin Interface! Or….
  • 23. SFSFAI! This is going to catch on... Making your own Super Fast Super Fancy Admin Interface!
  • 24. MVCAngular UI Router ● What URL uses what controller and template? ● http://jpwp.me/ingot-router ingotApp.config(function($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise("/"); $stateProvider //click tests .state('clickTests', { url: "/click-tests", templateUrl: INGOT_ADMIN.partials + "/click-groups.html" }) .state('clickTests.list', { url: "/click-tests/all", templateUrl: INGOT_ADMIN.partials + "/list.html", controller: 'clickGroups' } ) .state('clickTests.edit', { url: "/click-tests/edit/:groupID", templateUrl: INGOT_ADMIN.partials + "/click-group.html", controller: 'clickGroup' } ) .state('clickTests.new', { url: "/click-tests/new", templateUrl: INGOT_ADMIN.partials + "/click-group.html", controller: 'clickGroup' } ) });
  • 25. MVCStart it up ● Include dependencies ● Adding translations to $rootScope var ingotApp = angular.module('ingotApp', [ 'ui.router', 'ui.bootstrap', 'colorpicker.module', 'ngAria', 'ngResource', 'ngclipboard', 'ngSanitize' ] ) .run( function( $rootScope, $state ) { $rootScope.translate = INGOT_TRANSLATION; $rootScope.partials_url = INGOT_ADMIN.partials; } );
  • 26. MVCAngular $http ● Similar to jQuery AJAX ● Use to update $scope and $state ingotApp.controller( 'clickDelete', ['$scope', '$http', '$stateParams', '$state', function( $scope, $http, $stateParams, $state ){ $http({ url: INGOT_ADMIN.api + 'groups/' + $stateParams.groupID + '?_wpnonce=' + INGOT_ADMIN.nonce, method:'DELETE', headers: { 'X-WP-Nonce': INGOT_ADMIN.nonce } } ).then( function successCallback() { swal( INGOT_TRANSLATION.deleted, "", "success" ); $scope.group = {}; $state.go('clickTests.list' ); }, function errorCallback( response ) { var data = response.data; var text = INGOT_TRANSLATION.sorry; if( _.isObject( data ) && _.isDefined( data.message ) ){ text = data.message; } $state.go('clickTests.list' ); } ); }]);
  • 27. MVCFactories ● Reusable code for HTTP ● Makes data an injected dependency -- easily mocked/ modified ● http://jpwp.me/ingot-factory ingotApp.factory( 'groupsFactory', function( $resource ) { return $resource( INGOT_ADMIN.api + 'groups/:id', { id: '@id', _wpnonce: INGOT_ADMIN.nonce, context: 'admin' },{ 'query' : { transformResponse: function( data, headers ) { var response = { data: data, headers: headers() }; return response; } }, 'update':{ method:'PUT', headers: { 'X-WP-Nonce': INGOT_ADMIN.nonce } },
  • 28. MVCFactories ● Think of it as your own API client ● http://jpwp.me/ingot-factory- in-use ingotApp.controller( 'clickGroups', ['$scope', '$http', 'groupsFactory', '$sce', function( $scope, $http, groupsFactory, $sce ) { var page_limit = 10; $scope.description = $sce.trustAsHtml( INGOT_TRANSLATION.descriptions.click ); groupsFactory.query( { page: 1, limit: page_limit, context: 'admin', type: 'click' }, function ( res ) { if ( res.data.indexOf( 'No matching' ) > -1 ) { $scope.groups = {}; return; }; $scope.groups = JSON.parse( res.data ); var total_groups = parseInt( res.headers[ 'x-ingot-total' ] ); var total_pages = total_groups / page_limit; $scope.total_pages = new Array( Math.round( total_pages ) ); $scope.groups.shortcode = []; } ); }]);
  • 29. Resources ❖eBook: The Ultimate Guide to the WordPress REST API http://wpeng.in/rest-api-ebook/ ❖Article: Basics of AngularJS with the WordPress REST API http://torquemag.io/2016/02/basics-of-angularjs-with-the-wordpress-rest- api/ ❖Building Apps with the WordPress REST API https://learn.joshpress.net/downloads/building-apps-wordpress-rest-api/ ❖Creating a Javascript Single Page App in the WordPress Dashboard http://torquemag.io/2015/12/creating-javascript-single-page-app-wordpress- dashboard/ #wprestapi
  • 30. CalderaWP REST API Course CalderaWP.com Q&A Feel free to ask away in the “Questions” pane! Are you an agency or freelancer? ● Finish more sites in less time ● Unlimited staging installs for WordPress projects for as little as $29 per month. Ask about qualifying for a listing in our online consultants’ directory! Call +1-512-827-3500, or Chat with us wpengine.com
  • 31. Myths, Mistakes & Management of WooCommerce at Scale Wednesday, April 13th, 12 pm EDT/ 11 am CDT/ 9 am PDT/ 5 pm GMT+1 Register Now! http://wpeng.in/woo/ ❖ Myths associated with scaling WooCommerce ❖ Mistakes and how to avoid them ❖ How to pick development and hosting partners Next Next Webinar