SlideShare a Scribd company logo
1 of 46
Download to read offline
WordPress Beyond
Websites
Scott Saunders
Make no little plans
Daniel Burnham
They have no magic to stir men’s Blood
My Name
is Scott and I build
cool stuff.
and nobody pays me for it
Hello
Jobs
What I Do Now
What my job entails
• Do what the other 30 people on the office tell me to do
• Fix broken stuff - see above
• Find ways to make us more efficient - R&D

(do most of this at studioboro)
• Occasionally build a WordPress site
• Even more rarely draw something
• Almost never do video stuff
• Seldom if ever make cool stuff
Almond Encrusted with Sun dried Tomato and Feta
Jalapeño Cheddar brushed with Garlic Butter
EST. 1919EST. 1919
About the Site
• 405 Movies
• 111 Shorts
• 29 Serials
• 25,000+ Radio Show - over 13 months of audio
HEY KIDS
A N OT H E R F I N E P R O D U C T F R O M
MAKE YOUR OWN ROCKET RANGER
BE SURE TO Get your
parents
Permission before
using anything Sharp.
Each sheet MAKES TWO
ROCKET RANGERS.
WHY NOT SHARE ONE
WITH A BUDDY?
STUFF YOU”ll NEED
WORKS BEST IF PRINTED
ON CARD STOCK OR THICK
PAPER
SCISSORS
INSTRUCTIONS
FOLD ON THE
BOOT AREA ONLY,
WITH THE ROCKET RANGER
LOGO FACING UP.
Let’s Build some Stuff
codyhouse.co
unheap.com
tympanus.net/codrops
codepad.co
jsbin.com
codepen.com
Where I get cool stuff
Common Threads
• Custom Post Types
• Advanced Custom Fields PRO
YOU CAN BUILD ANYTHING
DPI TV
I wanted to make my
own TV Network
• Pseudo Streaming Movie Channel
• Includes Bumpers & Station IDs
• Randomly Loaded Group Based Content
• iOS Web Based App
What We’ll Need
• jQuery
• HTML5 Video Tag
• LESS
• MPEG 4 Based Video
• Advanced Custom Fields Pro - brief introduction to ACF Pro
• Custom Post Types
• Custom JQuery based video player script
• An understanding hosting provider or one that doesn't pay that much attention to what you’re
doing
HTML HEADER
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon" href="http://www.dieselpunkindustries.com/wp-content/themes/dpi/images/icon-72.png" />
This makes it a web based iOS app
HTML
<video id="video" preload="auto" tabindex="0" controls="" >
<source src="http://www.dieselpunkindustries.com/films/TheBigCombo1955.mp4">
Your Fallback goes here
</video>
<ul id="playlist">
<li class="active">
<a href="http://www.dieselpunkindustries.com/films/TheBigCombo1955.mp4">
The Big Combo
</a>
</li>
<li>
<a href="http://www.dieselpunkindustries.com/films/quicksand.mp4">
Quicksand
</a>
</li>
<li>
<a href="http://www.dieselpunkindustries.com/films/He_Walked_By_Night.mp4">
He Walked by Night
</a>
</li>
<li>
<a href="http://www.dieselpunkindustries.com/films/KansasCityConfidential.mp4">
Kansas City Confidential
</a>
</li>
</ul>
https://jsbin.com/lukaq/
JavaScript
Video Player Script<script>
var video;
var playlist;
var tracks;
var current;
init();
function init(){
current = 0;
video = $('#video');
playlist = $('#playlist');
tracks = playlist.find('li a');
len = tracks.length - 1;
video[0].play();
playlist.find('a').click(function(e){
e.preventDefault();
link = $(this);
current = link.parent().index();
run(link, video[0]);
});
video[0].addEventListener('ended',function(e){
current++;
if(current == len){
current = 0;
link = playlist.find('a')[0];
}else{
link = playlist.find('a')[current];
}
run($(link),video[0]);
});
}
function run(link, player){
player.src = link.attr('href');
par = link.parent();
par.addClass('active').siblings().removeClass('active');
video[0].load();
video[0].play();
}
</script>
https://jsbin.com/lukaq/
WordPress Stuff
// Our custom post type function dpitv
function create_posttype_dpitv() {
register_post_type( 'dpitv',
// CPT Options
array(
'labels' => array(
'name' => __( 'DPITV' ),
'singular_name' => __( 'DPITV' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'dpitv'),
)
);
}
add_action( 'init', 'create_posttype_dpitv' );
Create a Custom Post Type
Added theme’s functions.php file
WordPress Stuff
Create Flexible Content Using Advanced Custom Fields Pro
WordPress Stuff
ACF Flexiable Content with a Nested Repeater
Added theme’s archive-dpitv.php file
<?php while(has_sub_field("add_shows")): ?>
<?php if(get_row_layout() == "add_movie_group"): ?>
<?php the_sub_field("add_station_id"); ?>

<?php the_sub_field("id_title"); ?></a>
<?php while(has_sub_field('movie')): ?>
<?php the_sub_field('movie_thumb'); ?>
<?php the_sub_field('movie_url'); ?>
<?php the_sub_field('movie_title'); ?></a>
<?php endwhile; ?>
<?php elseif(get_row_layout() == "trailer"): ?>
<?php the_sub_field("trailer"); ?>">
<?php endif; ?>
<?php endwhile; ?>
Creating Flexible Content
WordPress Stuff
ACF Flexiable Content with a Nested Repeater
Added theme’s archive-dpitv.php file
<?php while(has_sub_field("add_shows")): ?>
<?php if(get_row_layout() == "add_movie_group"): ?>
<?php the_sub_field("add_station_id"); ?>

<?php the_sub_field("id_title"); ?></a>
<?php while(has_sub_field('movie')): ?>
<?php the_sub_field('movie_thumb'); ?>
<?php the_sub_field('movie_url'); ?>
<?php the_sub_field('movie_title'); ?></a>
<?php endwhile; ?>
<?php elseif(get_row_layout() == "trailer"): ?>
<?php the_sub_field("trailer"); ?>">
<?php endif; ?>
<?php endwhile; ?>
Two Layouts
WordPress Stuff
ACF Flexiable Content with a Nested Repeater
Added theme’s archive-dpitv.php file
<?php while(has_sub_field("add_shows")): ?>
<?php if(get_row_layout() == "add_movie_group"): ?>
<?php the_sub_field("add_station_id"); ?>

<?php the_sub_field("id_title"); ?></a>
<?php while(has_sub_field('movie')): ?>
<?php the_sub_field('movie_thumb'); ?>
<?php the_sub_field('movie_url'); ?>
<?php the_sub_field('movie_title'); ?></a>
<?php endwhile; ?>
<?php elseif(get_row_layout() == "trailer"): ?>
<?php the_sub_field("trailer"); ?>">
<?php endif; ?>
<?php endwhile; ?>
Repeater
WordPress Stuff
Wrap content into HTML Elements
Added theme’s archive-dpitv.php file
<?php while(has_sub_field("add_shows")): ?>
<?php if(get_row_layout() == "add_movie_group"): ?>
<li class="schedule"><a class="movieload" href="<?php the_sub_field("add_station_id"); ?>"><i class="icon-play"></i><?php
the_sub_field("id_title"); ?></a></li>
<?php while(has_sub_field('movie')): ?>
<li image="<?php the_sub_field('movie_thumb'); ?>">
<a class="movieload" href="<?php the_sub_field('movie_url'); ?>"><?php the_sub_field('movie_title'); ?></a>
<span class="info"></span>
</li>
<?php endwhile; ?>
<?php elseif(get_row_layout() == "trailer"): ?>
<li class="trailer"><a class="movieload" href="<?php the_sub_field("trailer"); ?>"></a></li>
<?php endif; ?>
<?php endwhile; ?>
WordPress Stuff
Create loop for custom post type
Added theme’s archive-dpitv.php file
<?php $args = array('post_type' => 'dpitv', 'posts_per_page' => -1, 'orderby'=>"rand");
$dpitv = new WP_Query( $args );
if( $dpitv->have_posts() ) {
while( $dpitv->have_posts() ) {
$dpitv->the_post();
?>
<!— ACF Stuff Goes Here —>
<?php
}
}
?>
WordPress Stuff
Add ACF Content with HTML Wrappers
Added theme’s archive-dpitv.php file
<?php $args = array('post_type' => 'dpitv', 'posts_per_page' => -1, 'orderby'=>"rand");
$dpitv = new WP_Query( $args );
if( $dpitv->have_posts() ) {
while( $dpitv->have_posts() ) {
$dpitv->the_post();
?>
<?php
}
}
?>
<?php while(has_sub_field("add_shows")): ?>
<?php if(get_row_layout() == "add_movie_group"): ?>
<li class="schedule"><a class="movieload" href="<?php the_sub_field("add_station_id"); ?>"><i class="icon-play"></i><?php the_sub_field("id_title"); ?></a></li>
<?php while(has_sub_field('movie')): ?>
<li image="<?php the_sub_field('movie_thumb'); ?>">
<a class="movieload" href="<?php the_sub_field('movie_url'); ?>"><?php the_sub_field('movie_title'); ?></a>
<span class="info"></span>
</li>
<?php endwhile; ?>
<?php elseif(get_row_layout() == "trailer"): ?>
<li class="trailer"><a class="movieload" href="<?php the_sub_field("trailer"); ?>"></a></li>
<?php endif; ?>
<?php endwhile; ?>
WordPress Stuff
Add ACF Content with HTML Wrappers
Added theme’s archive-dpitv.php file
<?php $args = array('post_type' => 'dpitv', 'posts_per_page' => -1, 'orderby'=>"rand");
$dpitv = new WP_Query( $args );
if( $dpitv->have_posts() ) {
while( $dpitv->have_posts() ) {
$dpitv->the_post();
?>
<?php
}
}
?>
<?php while(has_sub_field("add_shows")): ?>
<?php if(get_row_layout() == "add_movie_group"): ?>
<li class="schedule"><a class="movieload" href="<?php the_sub_field("add_station_id"); ?>"><i class="icon-play"></i><?php the_sub_field("id_title"); ?></a></li>
<?php while(has_sub_field('movie')): ?>
<li image="<?php the_sub_field('movie_thumb'); ?>">
<a class="movieload" href="<?php the_sub_field('movie_url'); ?>"><?php the_sub_field('movie_title'); ?></a>
<span class="info"></span>
</li>
<?php endwhile; ?>
<?php elseif(get_row_layout() == "trailer"): ?>
<li class="trailer"><a class="movieload" href="<?php the_sub_field("trailer"); ?>"></a></li>
<?php endif; ?>
<?php endwhile; ?>
Let’s have a look
1939 WORLDS FAIR
What is it?
• Web based cross platform magazine type e-publishing solution
• Something that clients can’t break
• Works on everything
• Responsive
• Can be used as a iOS based sales tool
• Alternative to Adobe Spark and ReadyMag
What I used
• jQuery
• The Slide framework from Designmodo
• Advanced Custom Fields Pro
• Custom Post Types
What I used
http://designmodo.com/slides/
Theme
• Separate the HTML and JS add to WordPress Header,
Footer, and Index.php
• Create Flexible Content & Custom Fields with ACF
• All content will be created on a single page instead of using
custom post types
• “Punch holes” in the index.php and put inside the loop
Let’s have a look
Roku Channel
More Examples
dieselpunkindustries.com/singles/casablanca/
wpwebos.com/slideshow/

More Related Content

What's hot

Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress ThemesLaura Hartwig
 
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011brucelawson
 
HTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a treeHTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a treebrucelawson
 
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalWordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalChandra Prakash Thapa
 
HTML5 Who what where when why how
HTML5 Who what where when why howHTML5 Who what where when why how
HTML5 Who what where when why howbrucelawson
 
Contributing to WordPress Core - Peter Wilson
Contributing to WordPress Core - Peter WilsonContributing to WordPress Core - Peter Wilson
Contributing to WordPress Core - Peter WilsonWordCamp Sydney
 
WordPress Theme Structure
WordPress Theme StructureWordPress Theme Structure
WordPress Theme Structurekeithdevon
 
How to Prepare a WordPress Theme for Public Release
How to Prepare a WordPress Theme for Public ReleaseHow to Prepare a WordPress Theme for Public Release
How to Prepare a WordPress Theme for Public ReleaseDavid Yeiser
 
Game Development Using HTML 5
Game Development Using HTML 5Game Development Using HTML 5
Game Development Using HTML 5osa_ora
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Joe Querin
 
Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016David Brattoli
 
Custom WordPress theme development
Custom WordPress theme developmentCustom WordPress theme development
Custom WordPress theme developmentTammy Hart
 
Intro to WordPress Plugin Development
Intro to WordPress Plugin DevelopmentIntro to WordPress Plugin Development
Intro to WordPress Plugin DevelopmentBrad Williams
 
WordPress Theme Workshop: Part 3
WordPress Theme Workshop: Part 3WordPress Theme Workshop: Part 3
WordPress Theme Workshop: Part 3David Bisset
 

What's hot (20)

Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress Themes
 
Rebrand WordPress Admin
Rebrand WordPress AdminRebrand WordPress Admin
Rebrand WordPress Admin
 
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011
 
HTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a treeHTML5 and Accessibility sitting in a tree
HTML5 and Accessibility sitting in a tree
 
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalWordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
 
WordPress and Ajax
WordPress and AjaxWordPress and Ajax
WordPress and Ajax
 
HTML5 Who what where when why how
HTML5 Who what where when why howHTML5 Who what where when why how
HTML5 Who what where when why how
 
Jquery tutorial
Jquery tutorialJquery tutorial
Jquery tutorial
 
Contributing to WordPress Core - Peter Wilson
Contributing to WordPress Core - Peter WilsonContributing to WordPress Core - Peter Wilson
Contributing to WordPress Core - Peter Wilson
 
WordPress Theme Structure
WordPress Theme StructureWordPress Theme Structure
WordPress Theme Structure
 
How to Prepare a WordPress Theme for Public Release
How to Prepare a WordPress Theme for Public ReleaseHow to Prepare a WordPress Theme for Public Release
How to Prepare a WordPress Theme for Public Release
 
Game Development Using HTML 5
Game Development Using HTML 5Game Development Using HTML 5
Game Development Using HTML 5
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015
 
HTML5 JS APIs
HTML5 JS APIsHTML5 JS APIs
HTML5 JS APIs
 
Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016
 
Custom WordPress theme development
Custom WordPress theme developmentCustom WordPress theme development
Custom WordPress theme development
 
Intro to WordPress Plugin Development
Intro to WordPress Plugin DevelopmentIntro to WordPress Plugin Development
Intro to WordPress Plugin Development
 
Html5 intro
Html5 introHtml5 intro
Html5 intro
 
WordPress Theme Workshop: Part 3
WordPress Theme Workshop: Part 3WordPress Theme Workshop: Part 3
WordPress Theme Workshop: Part 3
 
What is (not) WordPress
What is (not) WordPressWhat is (not) WordPress
What is (not) WordPress
 

Similar to Wordpress Beyond Websites

Making WordPress Your CMS and Automatically Updating a Self Hosted WordPress ...
Making WordPress Your CMS and Automatically Updating a Self Hosted WordPress ...Making WordPress Your CMS and Automatically Updating a Self Hosted WordPress ...
Making WordPress Your CMS and Automatically Updating a Self Hosted WordPress ...cehwitham
 
Speak The Web: The HTML5 Experiments
Speak The Web: The HTML5 ExperimentsSpeak The Web: The HTML5 Experiments
Speak The Web: The HTML5 Experimentsguestd427df
 
How to make a WordPress theme
How to make a WordPress themeHow to make a WordPress theme
How to make a WordPress themeHardeep Asrani
 
Video.js - How to build and HTML5 Video Player
Video.js - How to build and HTML5 Video PlayerVideo.js - How to build and HTML5 Video Player
Video.js - How to build and HTML5 Video Playersteveheffernan
 
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaLeave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaRobert Nyman
 
HTML5 workshop, part 1
HTML5 workshop, part 1HTML5 workshop, part 1
HTML5 workshop, part 1Robert Nyman
 
Grok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateGrok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateLaura Scott
 
关于 Html5 那点事
关于 Html5 那点事关于 Html5 那点事
关于 Html5 那点事Sofish Lin
 
Upgrade to HTML5 Video
Upgrade to HTML5 VideoUpgrade to HTML5 Video
Upgrade to HTML5 Videosteveheffernan
 
Responsive WordPress workflow
Responsive WordPress workflowResponsive WordPress workflow
Responsive WordPress workflowJames Bundey
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5Robert Nyman
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) ThemingPINGV
 
WordPress
WordPressWordPress
WordPressrisager
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexyananelson
 
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibautPresentation html5 css3 by thibaut
Presentation html5 css3 by thibautThibaut Baillet
 

Similar to Wordpress Beyond Websites (20)

Making WordPress Your CMS and Automatically Updating a Self Hosted WordPress ...
Making WordPress Your CMS and Automatically Updating a Self Hosted WordPress ...Making WordPress Your CMS and Automatically Updating a Self Hosted WordPress ...
Making WordPress Your CMS and Automatically Updating a Self Hosted WordPress ...
 
Speak The Web: The HTML5 Experiments
Speak The Web: The HTML5 ExperimentsSpeak The Web: The HTML5 Experiments
Speak The Web: The HTML5 Experiments
 
How to make a WordPress theme
How to make a WordPress themeHow to make a WordPress theme
How to make a WordPress theme
 
Video.js - How to build and HTML5 Video Player
Video.js - How to build and HTML5 Video PlayerVideo.js - How to build and HTML5 Video Player
Video.js - How to build and HTML5 Video Player
 
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, CroatiaLeave No One Behind with HTML5 - FFWD.PRO, Croatia
Leave No One Behind with HTML5 - FFWD.PRO, Croatia
 
Word Camp Fukuoka2010
Word Camp Fukuoka2010Word Camp Fukuoka2010
Word Camp Fukuoka2010
 
HTML5 workshop, part 1
HTML5 workshop, part 1HTML5 workshop, part 1
HTML5 workshop, part 1
 
Grok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateGrok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb update
 
HTML5 Design
HTML5 DesignHTML5 Design
HTML5 Design
 
Theming 101
Theming 101Theming 101
Theming 101
 
Adobe & HTML5
Adobe & HTML5Adobe & HTML5
Adobe & HTML5
 
关于 Html5 那点事
关于 Html5 那点事关于 Html5 那点事
关于 Html5 那点事
 
Upgrade to HTML5 Video
Upgrade to HTML5 VideoUpgrade to HTML5 Video
Upgrade to HTML5 Video
 
Responsive WordPress workflow
Responsive WordPress workflowResponsive WordPress workflow
Responsive WordPress workflow
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) Theming
 
Looking into HTML5 + CSS3
Looking into HTML5 + CSS3Looking into HTML5 + CSS3
Looking into HTML5 + CSS3
 
WordPress
WordPressWordPress
WordPress
 
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to DexyRefresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexy
 
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibautPresentation html5 css3 by thibaut
Presentation html5 css3 by thibaut
 

Recently uploaded

The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 

Recently uploaded (20)

The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 

Wordpress Beyond Websites

  • 2. Make no little plans Daniel Burnham They have no magic to stir men’s Blood
  • 3. My Name is Scott and I build cool stuff. and nobody pays me for it Hello
  • 5. What I Do Now
  • 6.
  • 7. What my job entails • Do what the other 30 people on the office tell me to do • Fix broken stuff - see above • Find ways to make us more efficient - R&D
 (do most of this at studioboro) • Occasionally build a WordPress site • Even more rarely draw something • Almost never do video stuff • Seldom if ever make cool stuff
  • 8. Almond Encrusted with Sun dried Tomato and Feta Jalapeño Cheddar brushed with Garlic Butter
  • 9.
  • 10.
  • 12.
  • 13. About the Site • 405 Movies • 111 Shorts • 29 Serials • 25,000+ Radio Show - over 13 months of audio
  • 14.
  • 15. HEY KIDS A N OT H E R F I N E P R O D U C T F R O M MAKE YOUR OWN ROCKET RANGER BE SURE TO Get your parents Permission before using anything Sharp. Each sheet MAKES TWO ROCKET RANGERS. WHY NOT SHARE ONE WITH A BUDDY? STUFF YOU”ll NEED WORKS BEST IF PRINTED ON CARD STOCK OR THICK PAPER SCISSORS INSTRUCTIONS FOLD ON THE BOOT AREA ONLY, WITH THE ROCKET RANGER LOGO FACING UP.
  • 16.
  • 17.
  • 20. Common Threads • Custom Post Types • Advanced Custom Fields PRO
  • 21.
  • 22. YOU CAN BUILD ANYTHING
  • 24. I wanted to make my own TV Network • Pseudo Streaming Movie Channel • Includes Bumpers & Station IDs • Randomly Loaded Group Based Content • iOS Web Based App
  • 25. What We’ll Need • jQuery • HTML5 Video Tag • LESS • MPEG 4 Based Video • Advanced Custom Fields Pro - brief introduction to ACF Pro • Custom Post Types • Custom JQuery based video player script • An understanding hosting provider or one that doesn't pay that much attention to what you’re doing
  • 26. HTML HEADER <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <link rel="apple-touch-icon" href="http://www.dieselpunkindustries.com/wp-content/themes/dpi/images/icon-72.png" /> This makes it a web based iOS app
  • 27. HTML <video id="video" preload="auto" tabindex="0" controls="" > <source src="http://www.dieselpunkindustries.com/films/TheBigCombo1955.mp4"> Your Fallback goes here </video> <ul id="playlist"> <li class="active"> <a href="http://www.dieselpunkindustries.com/films/TheBigCombo1955.mp4"> The Big Combo </a> </li> <li> <a href="http://www.dieselpunkindustries.com/films/quicksand.mp4"> Quicksand </a> </li> <li> <a href="http://www.dieselpunkindustries.com/films/He_Walked_By_Night.mp4"> He Walked by Night </a> </li> <li> <a href="http://www.dieselpunkindustries.com/films/KansasCityConfidential.mp4"> Kansas City Confidential </a> </li> </ul> https://jsbin.com/lukaq/
  • 28. JavaScript Video Player Script<script> var video; var playlist; var tracks; var current; init(); function init(){ current = 0; video = $('#video'); playlist = $('#playlist'); tracks = playlist.find('li a'); len = tracks.length - 1; video[0].play(); playlist.find('a').click(function(e){ e.preventDefault(); link = $(this); current = link.parent().index(); run(link, video[0]); }); video[0].addEventListener('ended',function(e){ current++; if(current == len){ current = 0; link = playlist.find('a')[0]; }else{ link = playlist.find('a')[current]; } run($(link),video[0]); }); } function run(link, player){ player.src = link.attr('href'); par = link.parent(); par.addClass('active').siblings().removeClass('active'); video[0].load(); video[0].play(); } </script> https://jsbin.com/lukaq/
  • 29. WordPress Stuff // Our custom post type function dpitv function create_posttype_dpitv() { register_post_type( 'dpitv', // CPT Options array( 'labels' => array( 'name' => __( 'DPITV' ), 'singular_name' => __( 'DPITV' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'dpitv'), ) ); } add_action( 'init', 'create_posttype_dpitv' ); Create a Custom Post Type Added theme’s functions.php file
  • 30. WordPress Stuff Create Flexible Content Using Advanced Custom Fields Pro
  • 31. WordPress Stuff ACF Flexiable Content with a Nested Repeater Added theme’s archive-dpitv.php file <?php while(has_sub_field("add_shows")): ?> <?php if(get_row_layout() == "add_movie_group"): ?> <?php the_sub_field("add_station_id"); ?>
 <?php the_sub_field("id_title"); ?></a> <?php while(has_sub_field('movie')): ?> <?php the_sub_field('movie_thumb'); ?> <?php the_sub_field('movie_url'); ?> <?php the_sub_field('movie_title'); ?></a> <?php endwhile; ?> <?php elseif(get_row_layout() == "trailer"): ?> <?php the_sub_field("trailer"); ?>"> <?php endif; ?> <?php endwhile; ?> Creating Flexible Content
  • 32. WordPress Stuff ACF Flexiable Content with a Nested Repeater Added theme’s archive-dpitv.php file <?php while(has_sub_field("add_shows")): ?> <?php if(get_row_layout() == "add_movie_group"): ?> <?php the_sub_field("add_station_id"); ?>
 <?php the_sub_field("id_title"); ?></a> <?php while(has_sub_field('movie')): ?> <?php the_sub_field('movie_thumb'); ?> <?php the_sub_field('movie_url'); ?> <?php the_sub_field('movie_title'); ?></a> <?php endwhile; ?> <?php elseif(get_row_layout() == "trailer"): ?> <?php the_sub_field("trailer"); ?>"> <?php endif; ?> <?php endwhile; ?> Two Layouts
  • 33. WordPress Stuff ACF Flexiable Content with a Nested Repeater Added theme’s archive-dpitv.php file <?php while(has_sub_field("add_shows")): ?> <?php if(get_row_layout() == "add_movie_group"): ?> <?php the_sub_field("add_station_id"); ?>
 <?php the_sub_field("id_title"); ?></a> <?php while(has_sub_field('movie')): ?> <?php the_sub_field('movie_thumb'); ?> <?php the_sub_field('movie_url'); ?> <?php the_sub_field('movie_title'); ?></a> <?php endwhile; ?> <?php elseif(get_row_layout() == "trailer"): ?> <?php the_sub_field("trailer"); ?>"> <?php endif; ?> <?php endwhile; ?> Repeater
  • 34. WordPress Stuff Wrap content into HTML Elements Added theme’s archive-dpitv.php file <?php while(has_sub_field("add_shows")): ?> <?php if(get_row_layout() == "add_movie_group"): ?> <li class="schedule"><a class="movieload" href="<?php the_sub_field("add_station_id"); ?>"><i class="icon-play"></i><?php the_sub_field("id_title"); ?></a></li> <?php while(has_sub_field('movie')): ?> <li image="<?php the_sub_field('movie_thumb'); ?>"> <a class="movieload" href="<?php the_sub_field('movie_url'); ?>"><?php the_sub_field('movie_title'); ?></a> <span class="info"></span> </li> <?php endwhile; ?> <?php elseif(get_row_layout() == "trailer"): ?> <li class="trailer"><a class="movieload" href="<?php the_sub_field("trailer"); ?>"></a></li> <?php endif; ?> <?php endwhile; ?>
  • 35. WordPress Stuff Create loop for custom post type Added theme’s archive-dpitv.php file <?php $args = array('post_type' => 'dpitv', 'posts_per_page' => -1, 'orderby'=>"rand"); $dpitv = new WP_Query( $args ); if( $dpitv->have_posts() ) { while( $dpitv->have_posts() ) { $dpitv->the_post(); ?> <!— ACF Stuff Goes Here —> <?php } } ?>
  • 36. WordPress Stuff Add ACF Content with HTML Wrappers Added theme’s archive-dpitv.php file <?php $args = array('post_type' => 'dpitv', 'posts_per_page' => -1, 'orderby'=>"rand"); $dpitv = new WP_Query( $args ); if( $dpitv->have_posts() ) { while( $dpitv->have_posts() ) { $dpitv->the_post(); ?> <?php } } ?> <?php while(has_sub_field("add_shows")): ?> <?php if(get_row_layout() == "add_movie_group"): ?> <li class="schedule"><a class="movieload" href="<?php the_sub_field("add_station_id"); ?>"><i class="icon-play"></i><?php the_sub_field("id_title"); ?></a></li> <?php while(has_sub_field('movie')): ?> <li image="<?php the_sub_field('movie_thumb'); ?>"> <a class="movieload" href="<?php the_sub_field('movie_url'); ?>"><?php the_sub_field('movie_title'); ?></a> <span class="info"></span> </li> <?php endwhile; ?> <?php elseif(get_row_layout() == "trailer"): ?> <li class="trailer"><a class="movieload" href="<?php the_sub_field("trailer"); ?>"></a></li> <?php endif; ?> <?php endwhile; ?>
  • 37. WordPress Stuff Add ACF Content with HTML Wrappers Added theme’s archive-dpitv.php file <?php $args = array('post_type' => 'dpitv', 'posts_per_page' => -1, 'orderby'=>"rand"); $dpitv = new WP_Query( $args ); if( $dpitv->have_posts() ) { while( $dpitv->have_posts() ) { $dpitv->the_post(); ?> <?php } } ?> <?php while(has_sub_field("add_shows")): ?> <?php if(get_row_layout() == "add_movie_group"): ?> <li class="schedule"><a class="movieload" href="<?php the_sub_field("add_station_id"); ?>"><i class="icon-play"></i><?php the_sub_field("id_title"); ?></a></li> <?php while(has_sub_field('movie')): ?> <li image="<?php the_sub_field('movie_thumb'); ?>"> <a class="movieload" href="<?php the_sub_field('movie_url'); ?>"><?php the_sub_field('movie_title'); ?></a> <span class="info"></span> </li> <?php endwhile; ?> <?php elseif(get_row_layout() == "trailer"): ?> <li class="trailer"><a class="movieload" href="<?php the_sub_field("trailer"); ?>"></a></li> <?php endif; ?> <?php endwhile; ?>
  • 40. What is it? • Web based cross platform magazine type e-publishing solution • Something that clients can’t break • Works on everything • Responsive • Can be used as a iOS based sales tool • Alternative to Adobe Spark and ReadyMag
  • 41. What I used • jQuery • The Slide framework from Designmodo • Advanced Custom Fields Pro • Custom Post Types
  • 43. Theme • Separate the HTML and JS add to WordPress Header, Footer, and Index.php • Create Flexible Content & Custom Fields with ACF • All content will be created on a single page instead of using custom post types • “Punch holes” in the index.php and put inside the loop