SlideShare a Scribd company logo
Custom Responsive Theme
Workshop
WordCamp Columbus 2015 #wccbus | #wcthemedev
About Joe
 Self taught Web Developer for 17+ years
 WordPress experience last 5 years
 Built 8+ themes
 Migrated 4 complete sites to WordPress,
built from scratch many more.
 Web Developer for 7+ years.
Including 2+ years of Wordpress
experience
 Built 4+ Wordpress themes with
theme specific plugins
 Migrated and designed 3
complete sites with Wordpress
About David
 Why Build a Theme?
 Available Responsive Themes
 Basic Framework For a Responsive Theme
 Theme Building Tips
 Code Demo
Topics
Why Build a Theme?
 Unable to find a theme that can either be modified or have a child
theme created for it.
 Work with a number of sites, tend to use the same type of theme
code over and over.
 Rapid build out of new sites.
 Just to see if you can!
 Free Themes from WordPress.org Respository
 Select Responsive from feature filter – 1,205 themes.
 Premium Themes
 StudioPress – Genesis
 Woo Themes – Canvas & Storefront
Available Responsive Themes
 CSS Framework
 Bootstrap
 Foundation
 WordPress Starter Theme
 Underscores
Basic Framework For a
Responsive Theme
Theme Building Tips
 Wireframe
 Plan features
 Configure a Dev environment
 CSS or SASS?
 codex.wordpress.org
 www.wphierarchy.com – Cool Resource
 Before using the theme or submitting to the repo, make sure the
header of the CSS stylesheet is filled out.
Theme Building Tips
 Theme Check – Plugin from Repository
 Theme Unit Test – codex.wordpress.org/Theme_Unit_Test
 Functions - Theme vs Plugin
 If the function is for the content, put it in a plugin
 If it doesn’t matter where the function is placed, put it in a plugin.
 Very rarely is there a good reason to add a function to the theme.
 Keep your dev environment updated, core and plugins!
 Download a fresh copy of
 Underscores - http://www.underscores.me
 Foundation 5 - http://foundation.zurb.com
 Unzip underscores into a directory for your theme.
 Create a foundation directory inside of your theme directory, and unzip
the foundation download here.
 Optional - Configure Grunt (but highly recommended)
 Open functions.php in your favorite code editor
How To Build Your Responsive Theme
 Find the stylesheet enqueues.
 Search for “Enqueue scripts and styles”
 Add the following two lines.
How To Build Your Responsive Theme
wp_enqueue_style( 'foundation-normalize',
get_stylesheet_directory_uri() . '/foundation/css/normalize.css' );
wp_enqueue_style( 'foundation', get_stylesheet_directory_uri() .
'/foundation/css/foundation.css' );
 Add a call for your custom styles
How To Build Your Responsive Theme
wp_enqueue_style( ‘demo-custom-style', get_stylesheet_directory_uri() .
'/custom.css', array(), '1' );
 Add the calls for the foundation js files
wp_enqueue_script( 'foundation-js', get_template_directory_uri() .
'/foundation/js/foundation.min.js', array( 'jquery' ), '1', true );
wp_enqueue_script( 'foundation-modernizr-js',
get_template_directory_uri() . '/foundation/js/vendor/modernizr.js',
array( 'jquery' ), '1', true );
 Add a call for the foundation init
wp_enqueue_script( 'foundation-init-js', get_template_directory_uri() .
'/foundation.js', array( 'jquery' ), '1', true );
How To Build Your Responsive Theme
 You now have Foundation plugged into Underscores!
 Build your design out!
Code Demo
Bonus: Theme Framework
 Rapid build out of new theme(s) / site(s)
 Reusability
 Build a Child Theme on top of the framework
Building a Child Theme
/* Add Parent Theme Styles */
wp_enqueue_style( ‘demo-framework-style',
get_template_directory_uri() .'/style.css' );
/* ----- Add Foundation Support From Parent Theme ----- */
/* Add Foundation CSS */
wp_enqueue_style( 'foundation-normalize',
get_template_directory_uri() . '/foundation/css/normalize.css'
);
wp_enqueue_style( 'foundation', get_template_directory_uri() .
'/foundation/css/foundation.css' );
Building a Child Theme
/* Add Foundation JS */
wp_enqueue_script( 'foundation-js', get_template_directory_uri()
. '/foundation/js/foundation.min.js', array( 'jquery' ), '1',
true );
wp_enqueue_script( 'foundation-modernizr-js',
get_template_directory_uri() .
'/foundation/js/vendor/modernizr.js', array( 'jquery' ), '1',
true );
/* Foundation Init JS */
wp_enqueue_script( 'foundation-init-js',
get_template_directory_uri() . '/foundation.js', array( 'jquery'
), '1', true );
Building a Child Theme
wp_enqueue_style( ‘demo-style',
get_stylesheet_directory_uri().'/style.css' );
}
add_action( 'wp_enqueue_scripts', ‘demo_scripts' );
 Start Building your Child Theme
 Files can be opened from the Parent Framework, saved to
the child theme folder and then modified.
 Only the files you need to change, need to be copied over.
Questions?
Joe Querin
Twitter: @joequerin
Github: joecue
David Brattoli
Twitter: @DavidMBrattoli
Github: dabrattoli
Resources Mentioned
 underscores.me – Automattic Starter Theme
 foundation.zurb.com – Foundation5 CSS Responsive
Framework
 foundation.zurb.com/docs – Foundation Documentation
 foundation.zurb.com/docs/components/kitchen_sink.html –
Foundation Examples
 wphierarchy.com – Clickable Template Hierarchy
 wordpress.org/plugins/what-the-file – Plugin that display which
template file is being used to display the content.
Resources Mentioned
 pxtoem.com – Pixels to EM convertor
 brackets.io – Multi-Platform Code Editor Enviroment
 gruntjs.com – Grunt (Command Line Automation Tool)
Code Examples
Sample GruntFile and package.json –
gist.github.com/joecue/6d1e65a660ab647906d0
Sample Functions.php file –
gist.github.com/joecue/5e6d9bf3ec497786e4d6
Sample Child Theme Function File –
gist.github.com/joecue/30814d49ef6091bf0d5a

More Related Content

PDF
How to Prepare a WordPress Theme for Public Release
PPTX
Wordpress theme submission requirement for Themeforest
PDF
WordPress Theme Structure
PPT
Week 9 - Introduction to Child Themes
PPTX
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
PPT
Week 11 - Hosting and Migration
PPTX
WordPress Theme Development: Part 2
PPT
Week 7 introduction to theme development
How to Prepare a WordPress Theme for Public Release
Wordpress theme submission requirement for Themeforest
WordPress Theme Structure
Week 9 - Introduction to Child Themes
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
Week 11 - Hosting and Migration
WordPress Theme Development: Part 2
Week 7 introduction to theme development

What's hot (20)

PDF
WordPress Theme Development Basics
PPTX
Custom WordPress theme development
PPT
Week 12 - Search Engine Optimization
PPTX
Creating Customizable Widgets for Unpredictable Needs
PPTX
Rebrand WordPress Admin
PPTX
Building the basics (WordPress Ottawa 2014)
KEY
What is (not) WordPress
PPT
W pthemes
PDF
Seven deadly theming sins
PDF
Submitting to the WordPress Theme Directory
PPTX
The Way to Theme Enlightenment
PPTX
Theme development essentials columbus oh word camp 2012
PPT
Child Themes in WordPress
PPT
WordPress plugins
PPTX
Shortcodes vs Widgets: Which one and how?
PPTX
Responsive themeworkshop wcneo2016
PDF
Theming in WordPress - Where do I Start?
PPTX
WordPress best practices by billrice
PDF
Wordpress beyond blogging
PDF
Child Theme
WordPress Theme Development Basics
Custom WordPress theme development
Week 12 - Search Engine Optimization
Creating Customizable Widgets for Unpredictable Needs
Rebrand WordPress Admin
Building the basics (WordPress Ottawa 2014)
What is (not) WordPress
W pthemes
Seven deadly theming sins
Submitting to the WordPress Theme Directory
The Way to Theme Enlightenment
Theme development essentials columbus oh word camp 2012
Child Themes in WordPress
WordPress plugins
Shortcodes vs Widgets: Which one and how?
Responsive themeworkshop wcneo2016
Theming in WordPress - Where do I Start?
WordPress best practices by billrice
Wordpress beyond blogging
Child Theme
Ad

Similar to Responsive Theme Workshop - WordCamp Columbus 2015 (20)

PPTX
Building themesfromscratchwithframeworks
PDF
WordCamp Birmingham 2015 - Theme building workshop
PDF
Developing Custom WordPress Themes for Clients
PPT
WordPress theme frameworks
PPTX
WordPress Themes and Plugins
PPTX
Wp responsive-theme-framework
PPTX
To build a WordPress Theme: Wordcamp Denmark 2014
PDF
Themes: What they Are - How To Use 'Em - DaytonWP November 2012 MeetUp
PPTX
Introduction to Custom WordPress Themeing
PPTX
Keeping Your Themes and Plugins Organized.
PPT
WordPress Theme Design - Rich Media Institute Workshop
DOCX
Wordpress WebDevelopment services in lahore
PPTX
Faster WordPress Workflows
PPT
Building a Simple Theme Framework
PPTX
Writing your own WordPress themes and plugins
PDF
WordPress Theming 101
PDF
WordPress Theme Workshop: Part 4
PDF
Approaches To WordPress Theme Development
PPTX
WordPress Themes 101 - dotEduGuru Summit 2013
PDF
WordPress Themes: underlying, unifying design for a blog
Building themesfromscratchwithframeworks
WordCamp Birmingham 2015 - Theme building workshop
Developing Custom WordPress Themes for Clients
WordPress theme frameworks
WordPress Themes and Plugins
Wp responsive-theme-framework
To build a WordPress Theme: Wordcamp Denmark 2014
Themes: What they Are - How To Use 'Em - DaytonWP November 2012 MeetUp
Introduction to Custom WordPress Themeing
Keeping Your Themes and Plugins Organized.
WordPress Theme Design - Rich Media Institute Workshop
Wordpress WebDevelopment services in lahore
Faster WordPress Workflows
Building a Simple Theme Framework
Writing your own WordPress themes and plugins
WordPress Theming 101
WordPress Theme Workshop: Part 4
Approaches To WordPress Theme Development
WordPress Themes 101 - dotEduGuru Summit 2013
WordPress Themes: underlying, unifying design for a blog
Ad

More from Joe Querin (15)

PPTX
Introduction to WordPress Basics - WP 101
PPTX
WP 101 - Local Development - Themes and Plugins
PPTX
WP 101 - Custom Fields & Post Types
PPTX
WP101 - Themes and Plugins
PPTX
WP 101 - WordPress Basics
PPTX
WordCamp Kent 2019 - WP 101: Guten.. What?
PPTX
WordCamp Kent 2019 - WP 101: Local Development - Themes and Plugins
PPTX
WordCamp Kent 2019 - WP 101: Custom Post Type & Custom Fields
PPTX
WordCamp Kent 2019 - WP 101: Themes & Plugins: What are they, and where do I ...
PPTX
WordCamp Kent 2019 - WP 101: WordPress Basics
PPTX
One Plugin to Rule All Your Custom Code
PPTX
Why & How to Create a WordPress Plugin
PPTX
Building a WordPress Sandbox
PPTX
Using WordPress as a web application platform
PPTX
WP 201 Custom Post Types - Custom Fields - WordCamp Columbus 2015
Introduction to WordPress Basics - WP 101
WP 101 - Local Development - Themes and Plugins
WP 101 - Custom Fields & Post Types
WP101 - Themes and Plugins
WP 101 - WordPress Basics
WordCamp Kent 2019 - WP 101: Guten.. What?
WordCamp Kent 2019 - WP 101: Local Development - Themes and Plugins
WordCamp Kent 2019 - WP 101: Custom Post Type & Custom Fields
WordCamp Kent 2019 - WP 101: Themes & Plugins: What are they, and where do I ...
WordCamp Kent 2019 - WP 101: WordPress Basics
One Plugin to Rule All Your Custom Code
Why & How to Create a WordPress Plugin
Building a WordPress Sandbox
Using WordPress as a web application platform
WP 201 Custom Post Types - Custom Fields - WordCamp Columbus 2015

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
Machine Learning_overview_presentation.pptx
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
August Patch Tuesday
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Getting Started with Data Integration: FME Form 101
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Tartificialntelligence_presentation.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Assigned Numbers - 2025 - Bluetooth® Document
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Machine Learning_overview_presentation.pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
August Patch Tuesday
A comparative analysis of optical character recognition models for extracting...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Machine learning based COVID-19 study performance prediction
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
Reach Out and Touch Someone: Haptics and Empathic Computing
Digital-Transformation-Roadmap-for-Companies.pptx
Getting Started with Data Integration: FME Form 101
Group 1 Presentation -Planning and Decision Making .pptx
Spectroscopy.pptx food analysis technology
Tartificialntelligence_presentation.pptx
Building Integrated photovoltaic BIPV_UPV.pdf

Responsive Theme Workshop - WordCamp Columbus 2015

  • 1. Custom Responsive Theme Workshop WordCamp Columbus 2015 #wccbus | #wcthemedev
  • 2. About Joe  Self taught Web Developer for 17+ years  WordPress experience last 5 years  Built 8+ themes  Migrated 4 complete sites to WordPress, built from scratch many more.
  • 3.  Web Developer for 7+ years. Including 2+ years of Wordpress experience  Built 4+ Wordpress themes with theme specific plugins  Migrated and designed 3 complete sites with Wordpress About David
  • 4.  Why Build a Theme?  Available Responsive Themes  Basic Framework For a Responsive Theme  Theme Building Tips  Code Demo Topics
  • 5. Why Build a Theme?  Unable to find a theme that can either be modified or have a child theme created for it.  Work with a number of sites, tend to use the same type of theme code over and over.  Rapid build out of new sites.  Just to see if you can!
  • 6.  Free Themes from WordPress.org Respository  Select Responsive from feature filter – 1,205 themes.  Premium Themes  StudioPress – Genesis  Woo Themes – Canvas & Storefront Available Responsive Themes
  • 7.  CSS Framework  Bootstrap  Foundation  WordPress Starter Theme  Underscores Basic Framework For a Responsive Theme
  • 8. Theme Building Tips  Wireframe  Plan features  Configure a Dev environment  CSS or SASS?  codex.wordpress.org  www.wphierarchy.com – Cool Resource  Before using the theme or submitting to the repo, make sure the header of the CSS stylesheet is filled out.
  • 9. Theme Building Tips  Theme Check – Plugin from Repository  Theme Unit Test – codex.wordpress.org/Theme_Unit_Test  Functions - Theme vs Plugin  If the function is for the content, put it in a plugin  If it doesn’t matter where the function is placed, put it in a plugin.  Very rarely is there a good reason to add a function to the theme.  Keep your dev environment updated, core and plugins!
  • 10.  Download a fresh copy of  Underscores - http://www.underscores.me  Foundation 5 - http://foundation.zurb.com  Unzip underscores into a directory for your theme.  Create a foundation directory inside of your theme directory, and unzip the foundation download here.  Optional - Configure Grunt (but highly recommended)  Open functions.php in your favorite code editor How To Build Your Responsive Theme
  • 11.  Find the stylesheet enqueues.  Search for “Enqueue scripts and styles”  Add the following two lines. How To Build Your Responsive Theme wp_enqueue_style( 'foundation-normalize', get_stylesheet_directory_uri() . '/foundation/css/normalize.css' ); wp_enqueue_style( 'foundation', get_stylesheet_directory_uri() . '/foundation/css/foundation.css' );
  • 12.  Add a call for your custom styles How To Build Your Responsive Theme wp_enqueue_style( ‘demo-custom-style', get_stylesheet_directory_uri() . '/custom.css', array(), '1' );  Add the calls for the foundation js files wp_enqueue_script( 'foundation-js', get_template_directory_uri() . '/foundation/js/foundation.min.js', array( 'jquery' ), '1', true ); wp_enqueue_script( 'foundation-modernizr-js', get_template_directory_uri() . '/foundation/js/vendor/modernizr.js', array( 'jquery' ), '1', true );  Add a call for the foundation init wp_enqueue_script( 'foundation-init-js', get_template_directory_uri() . '/foundation.js', array( 'jquery' ), '1', true );
  • 13. How To Build Your Responsive Theme  You now have Foundation plugged into Underscores!  Build your design out!
  • 15. Bonus: Theme Framework  Rapid build out of new theme(s) / site(s)  Reusability  Build a Child Theme on top of the framework
  • 16. Building a Child Theme /* Add Parent Theme Styles */ wp_enqueue_style( ‘demo-framework-style', get_template_directory_uri() .'/style.css' ); /* ----- Add Foundation Support From Parent Theme ----- */ /* Add Foundation CSS */ wp_enqueue_style( 'foundation-normalize', get_template_directory_uri() . '/foundation/css/normalize.css' ); wp_enqueue_style( 'foundation', get_template_directory_uri() . '/foundation/css/foundation.css' );
  • 17. Building a Child Theme /* Add Foundation JS */ wp_enqueue_script( 'foundation-js', get_template_directory_uri() . '/foundation/js/foundation.min.js', array( 'jquery' ), '1', true ); wp_enqueue_script( 'foundation-modernizr-js', get_template_directory_uri() . '/foundation/js/vendor/modernizr.js', array( 'jquery' ), '1', true ); /* Foundation Init JS */ wp_enqueue_script( 'foundation-init-js', get_template_directory_uri() . '/foundation.js', array( 'jquery' ), '1', true );
  • 18. Building a Child Theme wp_enqueue_style( ‘demo-style', get_stylesheet_directory_uri().'/style.css' ); } add_action( 'wp_enqueue_scripts', ‘demo_scripts' );  Start Building your Child Theme  Files can be opened from the Parent Framework, saved to the child theme folder and then modified.  Only the files you need to change, need to be copied over.
  • 19. Questions? Joe Querin Twitter: @joequerin Github: joecue David Brattoli Twitter: @DavidMBrattoli Github: dabrattoli
  • 20. Resources Mentioned  underscores.me – Automattic Starter Theme  foundation.zurb.com – Foundation5 CSS Responsive Framework  foundation.zurb.com/docs – Foundation Documentation  foundation.zurb.com/docs/components/kitchen_sink.html – Foundation Examples  wphierarchy.com – Clickable Template Hierarchy  wordpress.org/plugins/what-the-file – Plugin that display which template file is being used to display the content.
  • 21. Resources Mentioned  pxtoem.com – Pixels to EM convertor  brackets.io – Multi-Platform Code Editor Enviroment  gruntjs.com – Grunt (Command Line Automation Tool) Code Examples Sample GruntFile and package.json – gist.github.com/joecue/6d1e65a660ab647906d0 Sample Functions.php file – gist.github.com/joecue/5e6d9bf3ec497786e4d6 Sample Child Theme Function File – gist.github.com/joecue/30814d49ef6091bf0d5a