SlideShare a Scribd company logo
Putting the Develop
in Development
Jason Yingling
@jason_yingling
Resources available: https://goo.gl/KaOIIn
[ ]
Who am I?Introduction
Who am I?
What We’ll Cover
Organizing a Project Director of Development, Red8 Interactive
3 plugins on WordPress.org repo
3 time WordCamp Speaker
Meetup and WordCamp organizer
@jason_yingling
Developing a Project
Further Resources
What We’ll Cover
How we plan a project at
Red8 Interactive
How we develop projects as a team
The tools and resources we use to
improve our development workflow
Organizing a ProjectIntroduction
Organizing a Project
@jason_yingling
Developing a Project
Further Resources
• Understanding the WordPress
template hierarchy
– Main Templates
– Commonly overlooked templates
• Breaking down what makes a
template
• Planning a project into templates
and template parts
Template Hierarchy
@jason_yingling
How WordPress determines
which template files to use
when displaying a post or page.
“
Introduction
Organizing a Project
Developing a Project
Further Resources
Template Hierarchy
Single Post
Template Hierarchy
Static Page
The Big Three
@jason_yingling
• Index.php – everything falls
back to index. Main post loop.
• Single.php – your single posts
• Page.php – your static pages
Introduction
Organizing a Project
Developing a Project
Further Resources
The Forgotten
@jason_yingling
• 404 page
• Search Results
• Archives
Introduction
Organizing a Project
Developing a Project
Further Resources
Template Anatomy
Breaking it Down
Developing a Project
@jason_yingling
• Code to the standards
• Automate your workflow
• Version control your code
Introduction
Organizing a Project
Further Resources
Developing a Project
Coding Standards
@jason_yingling
• Learn the WordPress way
• Easier for others to pick up
• Easier for you to pick up others
code
• Helps make code self-
documenting
• Check the Codex
Introduction
Organizing a Project
Further Resources
Developing a Project
PHP Standards
@jason_yingling
• Don’t camelCase function
names. Use lowercase and “_”
for spaces
• No shorthand
• Use real tabs and not spaces
Introduction
Organizing a Project
Further Resources
Developing a Project
Automate It
@jason_yingling
• Problem: Doing things takes
time.
• Solution: Make the computer do
it for you!
Introduction
Organizing a Project
Further Resources
Developing a Project
“
Why use a task
runner?
In one word: automation. The less work you
have to do when performing repetitive tasks like
minification, compilation, unit testing, linting,
etc, the easier your job becomes.
- Gruntjs.com
Task Runners
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project
The Battle of Build Scripts: Gulp vs Grunt
Grunt for People Who Think Things Like
Grunt are Weird and Hard
Some Useful Grunt Tools
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project
• BrowserSync
• SASS Compiling
• JS Minification
• JS Concatenation
• Lots more
GUI Option
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project
• CodeKit
Version Control It
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project
• Work collaboratively
• Track what has changed
• Back everything up
• Revert if needed
“
What is git?
Git is known as a "distributed" (rather than
"centralized") version control system because
you can run it locally and disconnected from the
Internet, and then "push" your changes to a
remote system (such as GitHub) whenever you
like.
Tips for Successful Version
Controlling
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project
• Write useful commit messages
• Implement features as they’re
ready
• Have a strategy in place
Basic Git Workflow
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project
Git Commands
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project • git clone
• git checkout
• git add
• git commit
• git merge
• git pull
• git push
• git stash
More Git Resources
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project
• Git4WP – Free video course on
using git with WordPress
• A Successful Git Branching
Model
• git docs
Further Resources
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project
• Plugins to help speed up
development
– Advanced Custom Fields
– Form Plugins
– Yoast SEO
– WP Pusher
Further Resources
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project
• Post Status (Blog)
• WP Tavern (Blog)
• Smashing WordPress (Book)
• Up and Running (Book)
• Post Status Draft (Podcast)
• Apply Filters (Podcast)
Further Resources
@jason_yingling
Introduction
Organizing a Project
Further Resources
Developing a Project
• Community Events
– WordCamps
– Local Meetups
– Slack Channels
• Make WordPress
• Post Status
• STL Meetup
Best Resources
Go make something.
Questions
@jason_yingling
Resources: Google Drive

More Related Content

PDF
Putting the Native in React Native - React Native NYC
stan229
 
PPTX
Sppp presentation
Denis Molodtsov
 
KEY
GR8CONF Contributing Back To Grails
bobbywarner
 
PDF
JHipster React - Devoxx BE 2017
Deepu K Sasidharan
 
PDF
JHipster
Yuen-Kuei Hsueh
 
PPTX
Version Control, Writers, and Workflows
stc-siliconvalley
 
PPTX
Gitbook Publish FAQ
Rebecca Peltz
 
PPTX
Isys363 kings gproject-2
aluzinski
 
Putting the Native in React Native - React Native NYC
stan229
 
Sppp presentation
Denis Molodtsov
 
GR8CONF Contributing Back To Grails
bobbywarner
 
JHipster React - Devoxx BE 2017
Deepu K Sasidharan
 
JHipster
Yuen-Kuei Hsueh
 
Version Control, Writers, and Workflows
stc-siliconvalley
 
Gitbook Publish FAQ
Rebecca Peltz
 
Isys363 kings gproject-2
aluzinski
 

What's hot (12)

PDF
Redhat.com: An Architectural Case Study
Phase2
 
PDF
Hacking for fun & profit - The Kubernetes Way - Demi Ben-Ari - Panorays
Demi Ben-Ari
 
PDF
React talk, GrunnJs 24 September 2014
_jjoos_
 
PPTX
Rapid Application Development on Google App Engine for Java
Kunal Dabir
 
PPTX
Git/Github & Salesforce
Gordon Bockus
 
PPT
Codestrong 2012 breakout session developing i phone and android apps using ...
Axway Appcelerator
 
PDF
Isolated React Js components
Abe García
 
PDF
It doesn't take much
Jason Draper
 
PPTX
Gitbook FAQs
Rebecca Peltz
 
PDF
JHipster, modern web application development made easy
Raphaël Brugier
 
PPTX
How we built a job board in one week with JHipster
Kile Niklawski
 
PDF
Frontend as a first class citizen
Marcin Grzywaczewski
 
Redhat.com: An Architectural Case Study
Phase2
 
Hacking for fun & profit - The Kubernetes Way - Demi Ben-Ari - Panorays
Demi Ben-Ari
 
React talk, GrunnJs 24 September 2014
_jjoos_
 
Rapid Application Development on Google App Engine for Java
Kunal Dabir
 
Git/Github & Salesforce
Gordon Bockus
 
Codestrong 2012 breakout session developing i phone and android apps using ...
Axway Appcelerator
 
Isolated React Js components
Abe García
 
It doesn't take much
Jason Draper
 
Gitbook FAQs
Rebecca Peltz
 
JHipster, modern web application development made easy
Raphaël Brugier
 
How we built a job board in one week with JHipster
Kile Niklawski
 
Frontend as a first class citizen
Marcin Grzywaczewski
 
Ad

Similar to Putting the Develop in Development (20)

PPTX
Getting agile with drupal
Promet Source
 
PPTX
Que nos espera a los ALM Dudes para el 2013?
Bruno Capuano
 
PDF
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB
 
PDF
Developer Productivity Engineering with Gradle
All Things Open
 
PPTX
Untangling - fall2017 - week 9
Derek Jacoby
 
DOC
RamaRaju_Profile
Ramaraju Dantuluri
 
PPTX
Learn from my Mistakes - Building Better Solutions in SPFx
Thomas Daly
 
PDF
Agile Secure Cloud Application Development Management
Adam Getchell
 
PDF
Letters from the open source trenches - Postgres community
Selena Deckelmann
 
PPTX
Agile_SDLC_Node.js@Paypal_ppt
Hitesh Kumar
 
PPTX
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Aysylu Greenberg
 
PDF
Docs Like Code: Strategies and Stories
Anne Gentle
 
PPTX
Presentation python Final2.pptx1[1].pptx
mohsinfareed780
 
PPTX
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
Preston McCauley
 
PDF
Using microformats with eZ Publish
Duffy Walsh
 
PPTX
The Power of Azure DevOps
Jeff Bramwell
 
DOC
Jitesh Agrawal plone
Jitesh Agrawal
 
DOC
Jitesh agrawal Resume
Jitesh Agrawal
 
PPTX
Static Site Generators - Developing Websites in Low-resource Condition
IWMW
 
Getting agile with drupal
Promet Source
 
Que nos espera a los ALM Dudes para el 2013?
Bruno Capuano
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB
 
Developer Productivity Engineering with Gradle
All Things Open
 
Untangling - fall2017 - week 9
Derek Jacoby
 
RamaRaju_Profile
Ramaraju Dantuluri
 
Learn from my Mistakes - Building Better Solutions in SPFx
Thomas Daly
 
Agile Secure Cloud Application Development Management
Adam Getchell
 
Letters from the open source trenches - Postgres community
Selena Deckelmann
 
Agile_SDLC_Node.js@Paypal_ppt
Hitesh Kumar
 
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Aysylu Greenberg
 
Docs Like Code: Strategies and Stories
Anne Gentle
 
Presentation python Final2.pptx1[1].pptx
mohsinfareed780
 
Improving Workflows With Grunt.js - Big D Design 2014 - Dallas Texas
Preston McCauley
 
Using microformats with eZ Publish
Duffy Walsh
 
The Power of Azure DevOps
Jeff Bramwell
 
Jitesh Agrawal plone
Jitesh Agrawal
 
Jitesh agrawal Resume
Jitesh Agrawal
 
Static Site Generators - Developing Websites in Low-resource Condition
IWMW
 
Ad

More from Jason Yingling (14)

PDF
WordPress Security Best Practices
Jason Yingling
 
PPTX
Installing WP-CLI locally
Jason Yingling
 
PPTX
Getting Started with Gutenberg Development
Jason Yingling
 
PPTX
Plugin development
Jason Yingling
 
PPTX
Introducing CSS Grid
Jason Yingling
 
PPTX
Customizing the WordPress Customizer
Jason Yingling
 
PDF
Battling Google PageSpeed Insights
Jason Yingling
 
PPTX
Getting to Know Underscores
Jason Yingling
 
PPTX
Speeding Up WordPress sites
Jason Yingling
 
PPTX
Creating Dynamic Sidebars & Widgets in WordPress
Jason Yingling
 
PPTX
WordPress Template hierarchy
Jason Yingling
 
PPTX
Design todevelop
Jason Yingling
 
PPTX
Ithemes presentation
Jason Yingling
 
PPTX
Building Flexible Sites with Advanced Custom Fields
Jason Yingling
 
WordPress Security Best Practices
Jason Yingling
 
Installing WP-CLI locally
Jason Yingling
 
Getting Started with Gutenberg Development
Jason Yingling
 
Plugin development
Jason Yingling
 
Introducing CSS Grid
Jason Yingling
 
Customizing the WordPress Customizer
Jason Yingling
 
Battling Google PageSpeed Insights
Jason Yingling
 
Getting to Know Underscores
Jason Yingling
 
Speeding Up WordPress sites
Jason Yingling
 
Creating Dynamic Sidebars & Widgets in WordPress
Jason Yingling
 
WordPress Template hierarchy
Jason Yingling
 
Design todevelop
Jason Yingling
 
Ithemes presentation
Jason Yingling
 
Building Flexible Sites with Advanced Custom Fields
Jason Yingling
 

Recently uploaded (20)

PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
The Future of Artificial Intelligence (AI)
Mukul
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
Doc9.....................................
SofiaCollazos
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 

Putting the Develop in Development

Editor's Notes

  • #17: Allows for teams to easily use the same tools Can version control the various Grunt plugins used in a project
  • #18: Both JS based task runners Grunt has been around longer so it has a bit bigger user base and more plugins already built Gulp is newer and growing fast. More focused on speed But Grunt has implemented some of Gulp’s speed advantages itself
  • #19: Take a look inside a our Grunt file
  • #22: Allows for teams to easily use the same tools Can version control the various Grunt plugins used in a project
  • #25: The basic workflow only really requires 7 git commands git stash is a special bonus clone let’s you clone a repo url checkout let’s you checkout a branch or create a new branch on a repo add lets you add files contents to the index commit lets you insert the files into the repository merge lets you merge changes between branches pull lets you pull from the remote repository to your local push lets you push changes from your local branch to the remote repo stash lets you remove the changes from one branch, move to another, and apply them there
  • #26: Git4WP is a free video course from the developer behind the WP Pusher plugin - Second
  • #27: Git4WP is a free video course from the developer behind the WP Pusher plugin - Second
  • #28: Git4WP is a free video course from the developer behind the WP Pusher plugin - Second
  • #29: Git4WP is a free video course from the developer behind the WP Pusher plugin - Second