SlideShare a Scribd company logo
THEME DEVELOPMENT
WORKFLOW
Shameem Reza | Future IT Park
Shameem Reza
 CTO & Co-Founder – Future IT
Park
 Contributor – Ghost and
WordPress
 Wordpress Consultant
 Plugin Developer
The Pitch
 Understand clients requirements.
 Organizing client data.
 Post type / taxonomies – use the core Luke!
 Custom post data.
 Bespoke functionality.
 Who’s doing what?
 Timescales and contingency.
Pitfalls to avoid
 Quickie quotes.
 Setting milestones.
 Defining responsibilities.
 Service level and expectations.
 The contingency.
 Costs breakdown – give options.
Won it – Best Foot Forward
 Get sign-off of proposal and milestones.
 Engage and schedule outside resources.
 Upsell – Don’t devalue our services.
 Confirm payment details / schedule of
payment.
 Get client going on content (or copyrighter)
 Hosting / Domains
My Development Environment
 Internal
 Xampp / Lamp
 Sublime Text 2
 VMWare Fusion
 Modern.ie
 Photoshop
 External
 Github
 Google Drive
 Digital Ocean Cloud
Server
Working in a Team or as an
Individual
 Version control
 Tracking changes / work.
 Accountability of task / issue.
 Associate commits with milestones.
LINKING COMMITS TO
ISSUES
Working in a Team – Dev Workflow
Local
Development
Team
Commit to Github
Team
Deploy to test
server
Team
Wireframes – Don’t get ahead of
yourself
 Solve a-lot of queries.
 Defines what’s important.
 What actually needs to be editable?
 Clarifies functionality with clients.
 Save time = saves (your) profit.
Wireframe Examples
Theme Building Options
 Adapting (hacking!) other themes.
 Starter / Foundation themes, like _s.
 Frameworks + Child theme, like Genesis.
 From scratch.
Let the Coding Begin !
 Code straight into template files.
 Avoid CSS( until later) – code pure XHTML.
 Identify and use common CSS classes :
 Colour definitions.
 Layout and containers.
 Identify common layout components :
Template parts.
Plugins or functions.php
 Plugins :
 Post types
 Taxonomies
 Advance functionality
 Functions.php :
 Widgets
 Enqueue styles / scripts
 Smaller utility / Display functions
Keep functions.php Organized
 Group into logical sections
 Comment as much you can.
 Template parts / includes vs. big chunks of
code.
Functions.php Example
Functions.php Example
Create your Own Hooks
 Add function to do_action in functions.php:
function mytheme_hook_after_page_loop(){
do_action('mytheme_hook_after_page_loop');
}
 Add action hook to theme:
mytheme_hook_after_page_loop()
 Use action hook:
function mytheme_insert_howdy(){ echo 'Howdy!';}
add_action(
'mytheme_hook_after_page_loop',
'mytheme_insert_howdy'
);
Testing Early – testing Often
 Run with Debug on during local development:
wp-config.php > define('WP_DEBUG', true);
 Developer Plugin
 Debug bar plugin
Test Data – Beyond Hello World
 Standard WordPress unit test data
http://codex.wordpress.org/Theme_Unit_Test
 BuddyPress test data
https://wordpress.org/plugins/bp-default-data
 Or export your own and make available to
team!
Deploy
 Migrating installs isn’t tough
http://interconnectit.com/products/search-and- replace-for-
wordpress-databases
 Analytics
 Optimization and cache
 XML sitemap(s) and Google webmaster tools
 Redirects for old site pages in .htaccess file
Redirect 301 /old.html http://www.site.com/new
Final Thoughts
 Stop using Plugins for simple things.
 Typography matters … and so does legibility.
 Don’t just copy and paste : examine, understand,
refine.
 On-server sub-domain dev environment but
lock it down!
 Keep R&D folder – don’t lose that researches.
Stop Hacking and Start
Creating
THANK YOU
Shameem Reza | Future IT Park

More Related Content

What's hot

Week 11 - Hosting and Migration
Week 11 - Hosting and MigrationWeek 11 - Hosting and Migration
Week 11 - Hosting and Migration
henri_makembe
 
Blogging Presentation
Blogging PresentationBlogging Presentation
Blogging Presentation
ajaymehta
 
Slideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You QueueSlideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You Queue
10n Software, LLC
 
Theming Wordpress for Your Showcases
Theming Wordpress for Your ShowcasesTheming Wordpress for Your Showcases
Theming Wordpress for Your Showcases
Jun Hu
 
Speed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan HanesSpeed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan Hanes
Meagan Hanes
 

What's hot (20)

ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High GearASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
 
Week 11 - Hosting and Migration
Week 11 - Hosting and MigrationWeek 11 - Hosting and Migration
Week 11 - Hosting and Migration
 
Wordcamp Toronto Presentation
Wordcamp Toronto PresentationWordcamp Toronto Presentation
Wordcamp Toronto Presentation
 
Blogging Presentation
Blogging PresentationBlogging Presentation
Blogging Presentation
 
WordPress Migrations 101 - WordCamp Orlando
WordPress Migrations 101 - WordCamp OrlandoWordPress Migrations 101 - WordCamp Orlando
WordPress Migrations 101 - WordCamp Orlando
 
Using Wordpress for Internet Publishing
Using Wordpress for Internet PublishingUsing Wordpress for Internet Publishing
Using Wordpress for Internet Publishing
 
Ship WordPress Projects Like a Boss
Ship WordPress Projects Like a BossShip WordPress Projects Like a Boss
Ship WordPress Projects Like a Boss
 
Django for n00bs
Django for n00bsDjango for n00bs
Django for n00bs
 
Slideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You QueueSlideshare - Magento Imagine - Do You Queue
Slideshare - Magento Imagine - Do You Queue
 
RPC-CMS-Blog-Platforms
RPC-CMS-Blog-PlatformsRPC-CMS-Blog-Platforms
RPC-CMS-Blog-Platforms
 
WordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTOWordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTO
 
Set up dev environment
Set up dev environmentSet up dev environment
Set up dev environment
 
Async
AsyncAsync
Async
 
WordPress Basics
WordPress BasicsWordPress Basics
WordPress Basics
 
Theming Wordpress for Your Showcases
Theming Wordpress for Your ShowcasesTheming Wordpress for Your Showcases
Theming Wordpress for Your Showcases
 
Speed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan HanesSpeed up your site! #wcmtl2015 by Meagan Hanes
Speed up your site! #wcmtl2015 by Meagan Hanes
 
Word press in 60 minutes
Word press in 60 minutesWord press in 60 minutes
Word press in 60 minutes
 
What is (not) WordPress
What is (not) WordPressWhat is (not) WordPress
What is (not) WordPress
 
Empowering Non-Profits with WordPress
Empowering Non-Profits with WordPressEmpowering Non-Profits with WordPress
Empowering Non-Profits with WordPress
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015
 

Similar to Theme development workflow

PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
Michael Peacock
 
Just dev it presenation modified word press 101
Just dev it presenation   modified word press 101Just dev it presenation   modified word press 101
Just dev it presenation modified word press 101
roguevoice
 

Similar to Theme development workflow (20)

So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress development
 
Writing your own WordPress themes and plugins
Writing your own WordPress themes and pluginsWriting your own WordPress themes and plugins
Writing your own WordPress themes and plugins
 
Wordpress development 101
Wordpress development 101Wordpress development 101
Wordpress development 101
 
Drupal Camp Victoria
Drupal Camp VictoriaDrupal Camp Victoria
Drupal Camp Victoria
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfony
 
North east user group tour
North east user group tourNorth east user group tour
North east user group tour
 
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deployment
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for Beginners
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
 
Just dev it presenation modified word press 101
Just dev it presenation   modified word press 101Just dev it presenation   modified word press 101
Just dev it presenation modified word press 101
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
 
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 test
 
Zend con 2016 bdd with behat for beginners
Zend con 2016   bdd with behat for beginnersZend con 2016   bdd with behat for beginners
Zend con 2016 bdd with behat for beginners
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 
Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010
 

Recently uploaded

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
 

Recently uploaded (20)

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
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
 
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...
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
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
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
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
 
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...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
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
 
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
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 

Theme development workflow

  • 2. Shameem Reza  CTO & Co-Founder – Future IT Park  Contributor – Ghost and WordPress  Wordpress Consultant  Plugin Developer
  • 3. The Pitch  Understand clients requirements.  Organizing client data.  Post type / taxonomies – use the core Luke!  Custom post data.  Bespoke functionality.  Who’s doing what?  Timescales and contingency.
  • 4. Pitfalls to avoid  Quickie quotes.  Setting milestones.  Defining responsibilities.  Service level and expectations.  The contingency.  Costs breakdown – give options.
  • 5. Won it – Best Foot Forward  Get sign-off of proposal and milestones.  Engage and schedule outside resources.  Upsell – Don’t devalue our services.  Confirm payment details / schedule of payment.  Get client going on content (or copyrighter)  Hosting / Domains
  • 6. My Development Environment  Internal  Xampp / Lamp  Sublime Text 2  VMWare Fusion  Modern.ie  Photoshop  External  Github  Google Drive  Digital Ocean Cloud Server
  • 7. Working in a Team or as an Individual  Version control  Tracking changes / work.  Accountability of task / issue.  Associate commits with milestones.
  • 9. Working in a Team – Dev Workflow Local Development Team Commit to Github Team Deploy to test server Team
  • 10. Wireframes – Don’t get ahead of yourself  Solve a-lot of queries.  Defines what’s important.  What actually needs to be editable?  Clarifies functionality with clients.  Save time = saves (your) profit.
  • 12. Theme Building Options  Adapting (hacking!) other themes.  Starter / Foundation themes, like _s.  Frameworks + Child theme, like Genesis.  From scratch.
  • 13. Let the Coding Begin !  Code straight into template files.  Avoid CSS( until later) – code pure XHTML.  Identify and use common CSS classes :  Colour definitions.  Layout and containers.  Identify common layout components : Template parts.
  • 14. Plugins or functions.php  Plugins :  Post types  Taxonomies  Advance functionality  Functions.php :  Widgets  Enqueue styles / scripts  Smaller utility / Display functions
  • 15. Keep functions.php Organized  Group into logical sections  Comment as much you can.  Template parts / includes vs. big chunks of code.
  • 18. Create your Own Hooks  Add function to do_action in functions.php: function mytheme_hook_after_page_loop(){ do_action('mytheme_hook_after_page_loop'); }  Add action hook to theme: mytheme_hook_after_page_loop()  Use action hook: function mytheme_insert_howdy(){ echo 'Howdy!';} add_action( 'mytheme_hook_after_page_loop', 'mytheme_insert_howdy' );
  • 19. Testing Early – testing Often  Run with Debug on during local development: wp-config.php > define('WP_DEBUG', true);  Developer Plugin  Debug bar plugin
  • 20. Test Data – Beyond Hello World  Standard WordPress unit test data http://codex.wordpress.org/Theme_Unit_Test  BuddyPress test data https://wordpress.org/plugins/bp-default-data  Or export your own and make available to team!
  • 21. Deploy  Migrating installs isn’t tough http://interconnectit.com/products/search-and- replace-for- wordpress-databases  Analytics  Optimization and cache  XML sitemap(s) and Google webmaster tools  Redirects for old site pages in .htaccess file Redirect 301 /old.html http://www.site.com/new
  • 22. Final Thoughts  Stop using Plugins for simple things.  Typography matters … and so does legibility.  Don’t just copy and paste : examine, understand, refine.  On-server sub-domain dev environment but lock it down!  Keep R&D folder – don’t lose that researches.
  • 23. Stop Hacking and Start Creating
  • 24. THANK YOU Shameem Reza | Future IT Park