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

Putting the Develop in Development

Editor's Notes

  1. Allows for teams to easily use the same tools Can version control the various Grunt plugins used in a project
  2. 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
  3. Take a look inside a our Grunt file
  4. Allows for teams to easily use the same tools Can version control the various Grunt plugins used in a project
  5. 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
  6. Git4WP is a free video course from the developer behind the WP Pusher plugin - Second
  7. Git4WP is a free video course from the developer behind the WP Pusher plugin - Second
  8. Git4WP is a free video course from the developer behind the WP Pusher plugin - Second
  9. Git4WP is a free video course from the developer behind the WP Pusher plugin - Second