SlideShare a Scribd company logo
1 of 63
Download to read offline
Hello                              9.00 - 9.15

1   An introduction to WordPress       09.15 - 09.30
2   The core components of a theme     09.30 - 10.00
3   Using WordPress as a proper CMS    10.00 - 10.30
    Morning tea                        10.30 - 11.00

4   A portfolio powered by WordPress   11.00 - 11.30
5   Building a brand new theme         11.30 - 12.00
    Q&A / discussion                   12.00 - 12.30
An introduction to WordPress
Setting up WordPress
on your local machine
MAMP (OSX)
mamp.info




XAMPP (Windows)
apachefriends.org/en/xampp.html
(or WAMP at wampserver.com)
Dummy content
Dummy content on the Starkers demo elliotjaystocks.com/starkers/demo/
themeshaper.com/wordpress-theme-development-tools-tutorial/
The basics of WordPress
The dashboard on a fresh WordPress installation
The core components
     of a theme
The template files in the ‘default’ theme
The only files you actually need in a theme
index.php
The ‘loop’
Use WordPress to power
    your entire site
Utilise the simple stuff
Built-in elements you can use
Post title
Category title / description
Use naming conventions to avoid repeating yourself
Custom fields
Custom fields for content (to call in images, etc.)
Custom fields for definitions
(should this be featured on the home page? etc.)
Conditional tags
Template tags
Basic if/else statements
Say it in English
What am I trying to accomplish?
If a certain situation occurs, do X;
if it doesn’t occur, do Y
What’s the easiest way to accomplish this?
START.

If the page slug is 'design-network',
  use the word ‘Design’ as my network name;

but if the page slug is 'photography-network',
  use the word ‘Photography’ as my network name;

or, if it’s neither of those,
  just use the word ‘Default’ as my network name.

END.




Think of things in plain English
<?php

if (is_page('design-network')) {
  $network="Design";

} elseif (is_page('photography-network')) {
  $network="Photography";

} else { // default
  $network="Default";

}
?>




Set up a variable you can use later on
<h2>
   Fusion Ads delivered <strong>17,737,824</strong>
   ad impressions in July across its dedicated
   <strong>Design</strong> network
</h2>




Set up a variable you can use later on
<h2>
   Fusion Ads delivered <strong>17,737,824</strong>
   ad impressions in July across its dedicated
   <strong>PUT_THE_NETWORK_NAME_HERE</strong> network
</h2>




Set up a variable you can use later on
<h2>
   Fusion Ads delivered <strong>17,737,824</strong>
   ad impressions in July across its dedicated
   <strong><?php echo $network; ?></strong> network
</h2>




Set up a variable you can use later on
START.

If the page is the ‘home’ page,
  use the word ‘home’ as my body’s classname;

but if it’s in the ‘portfolio’ category,
  use the word ‘portfolio’ as my body’s classname;

unless it’s in the ‘speaking’ category,
  then use the word ‘speaking’ as my body’s classname;

or if it’s the ‘publication’ page,
  use the word ‘publication’ as my body’s classname;

but if it’s a 404 or search results page,
  use the word ‘results’ as my body’s classname;

or if it’s none of the above,
  just use the word ‘default’ as my body’s classname.

END.


Set up a variable you can use later on
<?php

if (is_home()) { // Home
  $bodyclass="home";

} elseif (is_category('portfolio')) { // Portfolio
  $bodyclass="portfolio";

} elseif (is_category('speaking')) { // Speaking
  $bodyclass="speaking";

} elseif (is_page('publication')) { // publication
  $bodyclass="publication";

} elseif (is_404() || is_search()) { // 404 or search
  $bodyclass="nothing";

} else { // default
  $bodyclass="blog";

}
?>

Set up a variable you can use later on
is_home
<?php

if (is_home()) { // Home
  $bodyclass="home";

} elseif (is_category('portfolio')) { // Portfolio
  $bodyclass="portfolio";

} elseif (is_category('speaking')) { // Speaking
  $bodyclass="speaking";

} elseif (is_page('publication')) { // publication
  $bodyclass="publication";

} elseif (is_404() || is_search()) { // 404 or search
  $bodyclass="nothing";

} else { // default
  $bodyclass="blog";

}
?>

Set up a variable you can use later on
is_category
<?php

if (is_home()) { // Home
  $bodyclass="home";

} elseif (is_category('portfolio')) { // Portfolio
  $bodyclass="portfolio";

} elseif (is_category('speaking')) { // Speaking
  $bodyclass="speaking";

} elseif (is_page('publication')) { // publication
  $bodyclass="publication";

} elseif (is_404() || is_search()) { // 404 or search
  $bodyclass="nothing";

} else { // default
  $bodyclass="blog";

}
?>

Set up a variable you can use later on
is_page
<?php

if (is_home()) { // Home
  $bodyclass="home";

} elseif (is_category('portfolio')) { // Portfolio
  $bodyclass="portfolio";

} elseif (is_category('speaking')) { // Speaking
  $bodyclass="speaking";

} elseif (is_page('publication')) { // publication
  $bodyclass="publication";

} elseif (is_404() || is_search()) { // 404 or search
  $bodyclass="nothing";

} else { // default
  $bodyclass="blog";

}
?>

Set up a variable you can use later on
is_404() || is_search
<?php

if (is_home()) { // Home
  $bodyclass="home";

} elseif (is_category('portfolio')) { // Portfolio
  $bodyclass="portfolio";

} elseif (is_category('speaking')) { // Speaking
  $bodyclass="speaking";

} elseif (is_page('publication')) { // publication
  $bodyclass="publication";

} elseif (is_404() || is_search()) { // 404 or search
  $bodyclass="nothing";

} else { // default
  $bodyclass="blog";

}
?>

Set up a variable you can use later on
<body>




Set up a variable you can use later on
<body class="PUT_THE_CLASSNAME_HERE">




Set up a variable you can use later on
<body class="<?php echo $bodyclass; ?>">




Set up a variable you can use later on
WP Candy Template hierarchy diagram j.mp/wphierarchy
WP Candy WordPress Help Sheet j.mp/wphelpsheet1
WP Candy Advanced WordPress Help Sheet j.mp/wphelpsheet2
<li class="blog">
  <a href="http://elliotjaystocks.com/blog/">
    Blog
  </a>
</li>

<li class="portfolio">
  <a href="http://elliotjaystocks.com/portfolio/">
    Portfolio
  </a>
</li>

<li class="speaking">
  <a href="http://elliotjaystocks.com/speaking/">
    Speaking
  </a>
</li>




Set up a variable you can use later on
<li class="blog">
  <a href="<?php bloginfo('url'); ?>/blog/">
    Blog
  </a>
</li>

<li class="portfolio">
  <a href="<?php bloginfo('url'); ?>/portfolio/">
    Portfolio
  </a>
</li>

<li class="speaking">
  <a href="<?php bloginfo('url'); ?>/speaking/">
    Speaking
  </a>
</li>




Set up a variable you can use later on
Custom page templates
category-X.php
Multiple single.php templates
Multiple single.php templates j.mp/multiplesingle
Essential plugins
Plugins for basic use
Akismet
Author Highlight
Comment Timeout
Google XML Sitemaps
Maintenance Mode
Advanced plugins for CMS use
Advanced Excerpt
Duplicate Post
Improved Include Page
Top Level Categories
Start with an existing theme
(starting from scratch = scary)
Integrating scripts
  & stylesheets
Including jQuery the right way j.mp/jquerywp
A quick word
on child themes
A portfolio powered
   by WordPress
Building
a brand new theme
If you liked this,
   you’ll love...
The ultimate tutorial themeshaper.com/wordpress-themes-templates-tutorial/
Shameless plug!
Sexy Web Design
by Elliot Jay Stocks
Expert reviewers: Jina Bolton & Dan Rubin



Published by SitePoint
Thank you!

elliotjaystocks.com | twitter.com/elliotjaystocks

Pin-ups image by Mauren Veras - flickr.com/photos/mauren/2298724158/
Paint textures from The Stock Exchange - sxc.hu
Set in FS Clerkenwell - fontsmith.com/font_details.php?font_num=251

More Related Content

What's hot

Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...LinnAlexandra
 
Arizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress ThemeArizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress Themecertainstrings
 
The Way to Theme Enlightenment
The Way to Theme EnlightenmentThe Way to Theme Enlightenment
The Way to Theme EnlightenmentAmanda Giles
 
Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919Paul Bearne
 
Creating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsCreating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsAmanda Giles
 
Shortcodes vs Widgets: Which one and how?
Shortcodes vs Widgets: Which one and how?Shortcodes vs Widgets: Which one and how?
Shortcodes vs Widgets: Which one and how?Amanda Giles
 
Introduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingIntroduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingJamie Schmid
 
WordPress Child Themes
WordPress Child ThemesWordPress Child Themes
WordPress Child Themesrfair404
 
The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017Amanda Giles
 
WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1Yoav Farhi
 
Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress ThemesLaura Hartwig
 
WordPress Theme Workshop: Part 3
WordPress Theme Workshop: Part 3WordPress Theme Workshop: Part 3
WordPress Theme Workshop: Part 3David Bisset
 
Creating Themes
Creating ThemesCreating Themes
Creating ThemesDaisyOlsen
 
How does get template part works in twenty ten theme
How does get template part works in twenty ten themeHow does get template part works in twenty ten theme
How does get template part works in twenty ten thememohd rozani abd ghani
 
WordPress Theme Development
 WordPress Theme Development WordPress Theme Development
WordPress Theme DevelopmentBijay Oli
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) ThemingPINGV
 
Streamlining Your Template Structures When Building Themes
Streamlining Your Template Structures When Building ThemesStreamlining Your Template Structures When Building Themes
Streamlining Your Template Structures When Building ThemesCameron Jones
 

What's hot (20)

Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
 
Demystifying WordPress Conditional Tags
Demystifying WordPress Conditional TagsDemystifying WordPress Conditional Tags
Demystifying WordPress Conditional Tags
 
Arizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress ThemeArizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress Theme
 
The Way to Theme Enlightenment
The Way to Theme EnlightenmentThe Way to Theme Enlightenment
The Way to Theme Enlightenment
 
Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919Childthemes ottawa-word camp-1919
Childthemes ottawa-word camp-1919
 
Creating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsCreating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable Needs
 
Shortcodes vs Widgets: Which one and how?
Shortcodes vs Widgets: Which one and how?Shortcodes vs Widgets: Which one and how?
Shortcodes vs Widgets: Which one and how?
 
Introduction to Custom WordPress Themeing
Introduction to Custom WordPress ThemeingIntroduction to Custom WordPress Themeing
Introduction to Custom WordPress Themeing
 
WordPress Child Themes
WordPress Child ThemesWordPress Child Themes
WordPress Child Themes
 
The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017
 
WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1
 
Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress Themes
 
WordPress Theme Workshop: Part 3
WordPress Theme Workshop: Part 3WordPress Theme Workshop: Part 3
WordPress Theme Workshop: Part 3
 
Creating Themes
Creating ThemesCreating Themes
Creating Themes
 
Seven deadly theming sins
Seven deadly theming sinsSeven deadly theming sins
Seven deadly theming sins
 
Theming 101
Theming 101Theming 101
Theming 101
 
How does get template part works in twenty ten theme
How does get template part works in twenty ten themeHow does get template part works in twenty ten theme
How does get template part works in twenty ten theme
 
WordPress Theme Development
 WordPress Theme Development WordPress Theme Development
WordPress Theme Development
 
Grok Drupal (7) Theming
Grok Drupal (7) ThemingGrok Drupal (7) Theming
Grok Drupal (7) Theming
 
Streamlining Your Template Structures When Building Themes
Streamlining Your Template Structures When Building ThemesStreamlining Your Template Structures When Building Themes
Streamlining Your Template Structures When Building Themes
 

Viewers also liked

Viewers also liked (16)

Php technical presentation
Php technical presentationPhp technical presentation
Php technical presentation
 
Phing: Building with PHP
Phing: Building with PHPPhing: Building with PHP
Phing: Building with PHP
 
Beginning web programming with PHP [PHP 101-02]
Beginning web programming with PHP [PHP 101-02]Beginning web programming with PHP [PHP 101-02]
Beginning web programming with PHP [PHP 101-02]
 
PHP presentation - Com 585
PHP presentation - Com 585PHP presentation - Com 585
PHP presentation - Com 585
 
Threads in PHP - Presentation
Threads in PHP - Presentation Threads in PHP - Presentation
Threads in PHP - Presentation
 
Php workshop L02 php basics
Php workshop L02 php basicsPhp workshop L02 php basics
Php workshop L02 php basics
 
Apache
ApacheApache
Apache
 
PHP .ppt
PHP .pptPHP .ppt
PHP .ppt
 
PHP presentation
PHP presentationPHP presentation
PHP presentation
 
Php
PhpPhp
Php
 
Php.ppt
Php.pptPhp.ppt
Php.ppt
 
Hybrid Mobile App Development Frameworks 2016
Hybrid Mobile App Development Frameworks 2016Hybrid Mobile App Development Frameworks 2016
Hybrid Mobile App Development Frameworks 2016
 
Beginners PHP Tutorial
Beginners PHP TutorialBeginners PHP Tutorial
Beginners PHP Tutorial
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
Php mysql ppt
Php mysql pptPhp mysql ppt
Php mysql ppt
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
 

Similar to WordPress Theme Development for Designers

Getting to The Loop - London Wordpress Meetup July 28th
Getting to The Loop - London Wordpress Meetup  July 28thGetting to The Loop - London Wordpress Meetup  July 28th
Getting to The Loop - London Wordpress Meetup July 28thChris Adams
 
Laying the proper foundation for plugin and theme development
Laying the proper foundation for plugin and theme developmentLaying the proper foundation for plugin and theme development
Laying the proper foundation for plugin and theme developmentTammy Hart
 
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)arcware
 
WordPress Structure and Best Practices
WordPress Structure and Best PracticesWordPress Structure and Best Practices
WordPress Structure and Best Practicesmarkparolisi
 
WordPress Plugin development
WordPress Plugin developmentWordPress Plugin development
WordPress Plugin developmentMostafa Soufi
 
Creating WordPress Theme Faster, Smarter & Without Swearing
Creating WordPress Theme Faster, Smarter & Without SwearingCreating WordPress Theme Faster, Smarter & Without Swearing
Creating WordPress Theme Faster, Smarter & Without Swearingmartinwolak
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkBo-Yi Wu
 
How to make a WordPress theme
How to make a WordPress themeHow to make a WordPress theme
How to make a WordPress themeHardeep Asrani
 
[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress DevelopmentAdam Tomat
 
Apostrophe
ApostropheApostrophe
Apostrophetompunk
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolGordon Forsythe
 
Plugin Development Practices
Plugin Development PracticesPlugin Development Practices
Plugin Development Practicesdanpastori
 
WordPress Theme Workshop: Misc
WordPress Theme Workshop: MiscWordPress Theme Workshop: Misc
WordPress Theme Workshop: MiscDavid Bisset
 
You don’t know query - WordCamp UK Edinburgh 2012
You don’t know query - WordCamp UK Edinburgh 2012You don’t know query - WordCamp UK Edinburgh 2012
You don’t know query - WordCamp UK Edinburgh 2012l3rady
 
FamilySearch Reference Client
FamilySearch Reference ClientFamilySearch Reference Client
FamilySearch Reference ClientDallan Quass
 
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)Mike Schinkel
 
Entry-level PHP for WordPress
Entry-level PHP for WordPressEntry-level PHP for WordPress
Entry-level PHP for WordPresssprclldr
 
WordPress London 16 May 2012 - You don’t know query
WordPress London 16 May 2012 - You don’t know queryWordPress London 16 May 2012 - You don’t know query
WordPress London 16 May 2012 - You don’t know queryl3rady
 
PSD to WordPress
PSD to WordPressPSD to WordPress
PSD to WordPressNile Flores
 

Similar to WordPress Theme Development for Designers (20)

Getting to The Loop - London Wordpress Meetup July 28th
Getting to The Loop - London Wordpress Meetup  July 28thGetting to The Loop - London Wordpress Meetup  July 28th
Getting to The Loop - London Wordpress Meetup July 28th
 
Laying the proper foundation for plugin and theme development
Laying the proper foundation for plugin and theme developmentLaying the proper foundation for plugin and theme development
Laying the proper foundation for plugin and theme development
 
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
 
WordPress Structure and Best Practices
WordPress Structure and Best PracticesWordPress Structure and Best Practices
WordPress Structure and Best Practices
 
WordPress Plugin development
WordPress Plugin developmentWordPress Plugin development
WordPress Plugin development
 
Creating WordPress Theme Faster, Smarter & Without Swearing
Creating WordPress Theme Faster, Smarter & Without SwearingCreating WordPress Theme Faster, Smarter & Without Swearing
Creating WordPress Theme Faster, Smarter & Without Swearing
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC Framework
 
How to make a WordPress theme
How to make a WordPress themeHow to make a WordPress theme
How to make a WordPress theme
 
[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development[Bristol WordPress] Supercharging WordPress Development
[Bristol WordPress] Supercharging WordPress Development
 
Apostrophe
ApostropheApostrophe
Apostrophe
 
Zend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_ToolZend Framework 1.9 Setup & Using Zend_Tool
Zend Framework 1.9 Setup & Using Zend_Tool
 
Plugin Development Practices
Plugin Development PracticesPlugin Development Practices
Plugin Development Practices
 
WordPress Theme Workshop: Misc
WordPress Theme Workshop: MiscWordPress Theme Workshop: Misc
WordPress Theme Workshop: Misc
 
You don’t know query - WordCamp UK Edinburgh 2012
You don’t know query - WordCamp UK Edinburgh 2012You don’t know query - WordCamp UK Edinburgh 2012
You don’t know query - WordCamp UK Edinburgh 2012
 
FamilySearch Reference Client
FamilySearch Reference ClientFamilySearch Reference Client
FamilySearch Reference Client
 
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014 (PPT)
 
Flask – Python
Flask – PythonFlask – Python
Flask – Python
 
Entry-level PHP for WordPress
Entry-level PHP for WordPressEntry-level PHP for WordPress
Entry-level PHP for WordPress
 
WordPress London 16 May 2012 - You don’t know query
WordPress London 16 May 2012 - You don’t know queryWordPress London 16 May 2012 - You don’t know query
WordPress London 16 May 2012 - You don’t know query
 
PSD to WordPress
PSD to WordPressPSD to WordPress
PSD to WordPress
 

More from elliotjaystocks

Things I have Learned as an Accidental Businessman
Things I have Learned as an Accidental BusinessmanThings I have Learned as an Accidental Businessman
Things I have Learned as an Accidental Businessmanelliotjaystocks
 
Stop Worrying & Get On With It (WDC Bristol 2009)
Stop Worrying & Get On With It (WDC Bristol 2009)Stop Worrying & Get On With It (WDC Bristol 2009)
Stop Worrying & Get On With It (WDC Bristol 2009)elliotjaystocks
 
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...elliotjaystocks
 
Stop Worrying & Get On With It (FOWD Tour 2009)
Stop Worrying & Get On With It (FOWD Tour 2009)Stop Worrying & Get On With It (FOWD Tour 2009)
Stop Worrying & Get On With It (FOWD Tour 2009)elliotjaystocks
 
Progressive Enhancement & Intentional Degradation 2
Progressive Enhancement & Intentional Degradation 2Progressive Enhancement & Intentional Degradation 2
Progressive Enhancement & Intentional Degradation 2elliotjaystocks
 
Professional Photoshop Effects
Professional Photoshop EffectsProfessional Photoshop Effects
Professional Photoshop Effectselliotjaystocks
 
Close Your Browser: Finding Inspiration In The Offline World
Close Your Browser: Finding Inspiration In The Offline WorldClose Your Browser: Finding Inspiration In The Offline World
Close Your Browser: Finding Inspiration In The Offline Worldelliotjaystocks
 
We Need To Talk About IE6
We Need To Talk About IE6We Need To Talk About IE6
We Need To Talk About IE6elliotjaystocks
 
Debunking Web Design Myths
Debunking Web Design MythsDebunking Web Design Myths
Debunking Web Design Mythselliotjaystocks
 

More from elliotjaystocks (16)

Things I have Learned as an Accidental Businessman
Things I have Learned as an Accidental BusinessmanThings I have Learned as an Accidental Businessman
Things I have Learned as an Accidental Businessman
 
The Story of 8 Faces
The Story of 8 FacesThe Story of 8 Faces
The Story of 8 Faces
 
FOWD NYC 2009
FOWD NYC 2009FOWD NYC 2009
FOWD NYC 2009
 
Stop Worrying & Get On With It (WDC Bristol 2009)
Stop Worrying & Get On With It (WDC Bristol 2009)Stop Worrying & Get On With It (WDC Bristol 2009)
Stop Worrying & Get On With It (WDC Bristol 2009)
 
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...
 
Stop Worrying & Get On With It (FOWD Tour 2009)
Stop Worrying & Get On With It (FOWD Tour 2009)Stop Worrying & Get On With It (FOWD Tour 2009)
Stop Worrying & Get On With It (FOWD Tour 2009)
 
Progressive Enhancement & Intentional Degradation 2
Progressive Enhancement & Intentional Degradation 2Progressive Enhancement & Intentional Degradation 2
Progressive Enhancement & Intentional Degradation 2
 
The Trouble With Type
The Trouble With TypeThe Trouble With Type
The Trouble With Type
 
Professional Photoshop Effects
Professional Photoshop EffectsProfessional Photoshop Effects
Professional Photoshop Effects
 
I Care Because You Do
I Care Because You DoI Care Because You Do
I Care Because You Do
 
Close Your Browser: Finding Inspiration In The Offline World
Close Your Browser: Finding Inspiration In The Offline WorldClose Your Browser: Finding Inspiration In The Offline World
Close Your Browser: Finding Inspiration In The Offline World
 
Print Is The New Web
Print Is The New WebPrint Is The New Web
Print Is The New Web
 
We Need To Talk About IE6
We Need To Talk About IE6We Need To Talk About IE6
We Need To Talk About IE6
 
Debunking Web Design Myths
Debunking Web Design MythsDebunking Web Design Myths
Debunking Web Design Myths
 
Reward & Punishment
Reward & PunishmentReward & Punishment
Reward & Punishment
 
FOWD November 2007
FOWD November 2007FOWD November 2007
FOWD November 2007
 

Recently uploaded

CREATING A POSITIVE SCHOOL CULTURE CHAPTER 10
CREATING A POSITIVE SCHOOL CULTURE CHAPTER 10CREATING A POSITIVE SCHOOL CULTURE CHAPTER 10
CREATING A POSITIVE SCHOOL CULTURE CHAPTER 10uasjlagroup
 
Apresentação Clamo Cristo -letra música Matheus Rizzo
Apresentação Clamo Cristo -letra música Matheus RizzoApresentação Clamo Cristo -letra música Matheus Rizzo
Apresentação Clamo Cristo -letra música Matheus RizzoCarolTelles6
 
Create Web Pages by programming of your chice.pdf
Create Web Pages by programming of your chice.pdfCreate Web Pages by programming of your chice.pdf
Create Web Pages by programming of your chice.pdfworkingdev2003
 
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一Fi sss
 
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degreeyuu sss
 
FiveHypotheses_UIDMasterclass_18April2024.pdf
FiveHypotheses_UIDMasterclass_18April2024.pdfFiveHypotheses_UIDMasterclass_18April2024.pdf
FiveHypotheses_UIDMasterclass_18April2024.pdfShivakumar Viswanathan
 
Iconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing servicesIconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing servicesIconic global solution
 
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书zdzoqco
 
办理(麻省罗威尔毕业证书)美国麻省大学罗威尔校区毕业证成绩单原版一比一
办理(麻省罗威尔毕业证书)美国麻省大学罗威尔校区毕业证成绩单原版一比一办理(麻省罗威尔毕业证书)美国麻省大学罗威尔校区毕业证成绩单原版一比一
办理(麻省罗威尔毕业证书)美国麻省大学罗威尔校区毕业证成绩单原版一比一diploma 1
 
西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造kbdhl05e
 
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,Aginakm1
 
办理学位证(SFU证书)西蒙弗雷泽大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙弗雷泽大学毕业证成绩单原版一比一办理学位证(SFU证书)西蒙弗雷泽大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙弗雷泽大学毕业证成绩单原版一比一F dds
 
Design and Managing Service in the field of tourism and hospitality industry
Design and Managing Service in the field of tourism and hospitality industryDesign and Managing Service in the field of tourism and hospitality industry
Design and Managing Service in the field of tourism and hospitality industryrioverosanniejoy
 
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...Yantram Animation Studio Corporation
 
Pharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdfPharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdfAayushChavan5
 
General Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptxGeneral Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptxmarckustrevion
 
Untitled presedddddddddddddddddntation (1).pptx
Untitled presedddddddddddddddddntation (1).pptxUntitled presedddddddddddddddddntation (1).pptx
Untitled presedddddddddddddddddntation (1).pptxmapanig881
 
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一z xss
 

Recently uploaded (20)

CREATING A POSITIVE SCHOOL CULTURE CHAPTER 10
CREATING A POSITIVE SCHOOL CULTURE CHAPTER 10CREATING A POSITIVE SCHOOL CULTURE CHAPTER 10
CREATING A POSITIVE SCHOOL CULTURE CHAPTER 10
 
Apresentação Clamo Cristo -letra música Matheus Rizzo
Apresentação Clamo Cristo -letra música Matheus RizzoApresentação Clamo Cristo -letra música Matheus Rizzo
Apresentação Clamo Cristo -letra música Matheus Rizzo
 
Create Web Pages by programming of your chice.pdf
Create Web Pages by programming of your chice.pdfCreate Web Pages by programming of your chice.pdf
Create Web Pages by programming of your chice.pdf
 
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
(办理学位证)埃迪斯科文大学毕业证成绩单原版一比一
 
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
原版美国亚利桑那州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
专业一比一美国亚利桑那大学毕业证成绩单pdf电子版制作修改#真实工艺展示#真实防伪#diploma#degree
 
FiveHypotheses_UIDMasterclass_18April2024.pdf
FiveHypotheses_UIDMasterclass_18April2024.pdfFiveHypotheses_UIDMasterclass_18April2024.pdf
FiveHypotheses_UIDMasterclass_18April2024.pdf
 
Iconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing servicesIconic Global Solution - web design, Digital Marketing services
Iconic Global Solution - web design, Digital Marketing services
 
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
2024新版美国旧金山州立大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
办理卡尔顿大学毕业证成绩单|购买加拿大文凭证书
 
办理(麻省罗威尔毕业证书)美国麻省大学罗威尔校区毕业证成绩单原版一比一
办理(麻省罗威尔毕业证书)美国麻省大学罗威尔校区毕业证成绩单原版一比一办理(麻省罗威尔毕业证书)美国麻省大学罗威尔校区毕业证成绩单原版一比一
办理(麻省罗威尔毕业证书)美国麻省大学罗威尔校区毕业证成绩单原版一比一
 
西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造西北大学毕业证学位证成绩单-怎么样办伪造
西北大学毕业证学位证成绩单-怎么样办伪造
 
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
'CASE STUDY OF INDIRA PARYAVARAN BHAVAN DELHI ,
 
办理学位证(SFU证书)西蒙弗雷泽大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙弗雷泽大学毕业证成绩单原版一比一办理学位证(SFU证书)西蒙弗雷泽大学毕业证成绩单原版一比一
办理学位证(SFU证书)西蒙弗雷泽大学毕业证成绩单原版一比一
 
Design and Managing Service in the field of tourism and hospitality industry
Design and Managing Service in the field of tourism and hospitality industryDesign and Managing Service in the field of tourism and hospitality industry
Design and Managing Service in the field of tourism and hospitality industry
 
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
Unveiling the Future: Columbus, Ohio Condominiums Through the Lens of 3D Arch...
 
Pharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdfPharmaceutical Packaging for the elderly.pdf
Pharmaceutical Packaging for the elderly.pdf
 
General Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptxGeneral Knowledge Quiz Game C++ CODE.pptx
General Knowledge Quiz Game C++ CODE.pptx
 
Untitled presedddddddddddddddddntation (1).pptx
Untitled presedddddddddddddddddntation (1).pptxUntitled presedddddddddddddddddntation (1).pptx
Untitled presedddddddddddddddddntation (1).pptx
 
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
办理(UC毕业证书)查尔斯顿大学毕业证成绩单原版一比一
 

WordPress Theme Development for Designers

  • 1.
  • 2. Hello 9.00 - 9.15 1 An introduction to WordPress 09.15 - 09.30 2 The core components of a theme 09.30 - 10.00 3 Using WordPress as a proper CMS 10.00 - 10.30 Morning tea 10.30 - 11.00 4 A portfolio powered by WordPress 11.00 - 11.30 5 Building a brand new theme 11.30 - 12.00 Q&A / discussion 12.00 - 12.30
  • 3. An introduction to WordPress
  • 4.
  • 5. Setting up WordPress on your local machine
  • 8. Dummy content on the Starkers demo elliotjaystocks.com/starkers/demo/
  • 10. The basics of WordPress
  • 11. The dashboard on a fresh WordPress installation
  • 12. The core components of a theme
  • 13. The template files in the ‘default’ theme
  • 14. The only files you actually need in a theme
  • 17. Use WordPress to power your entire site
  • 19. Built-in elements you can use Post title Category title / description Use naming conventions to avoid repeating yourself
  • 20. Custom fields Custom fields for content (to call in images, etc.) Custom fields for definitions (should this be featured on the home page? etc.)
  • 24. Say it in English What am I trying to accomplish? If a certain situation occurs, do X; if it doesn’t occur, do Y What’s the easiest way to accomplish this?
  • 25. START. If the page slug is 'design-network', use the word ‘Design’ as my network name; but if the page slug is 'photography-network', use the word ‘Photography’ as my network name; or, if it’s neither of those, just use the word ‘Default’ as my network name. END. Think of things in plain English
  • 26. <?php if (is_page('design-network')) { $network="Design"; } elseif (is_page('photography-network')) { $network="Photography"; } else { // default $network="Default"; } ?> Set up a variable you can use later on
  • 27. <h2> Fusion Ads delivered <strong>17,737,824</strong> ad impressions in July across its dedicated <strong>Design</strong> network </h2> Set up a variable you can use later on
  • 28. <h2> Fusion Ads delivered <strong>17,737,824</strong> ad impressions in July across its dedicated <strong>PUT_THE_NETWORK_NAME_HERE</strong> network </h2> Set up a variable you can use later on
  • 29. <h2> Fusion Ads delivered <strong>17,737,824</strong> ad impressions in July across its dedicated <strong><?php echo $network; ?></strong> network </h2> Set up a variable you can use later on
  • 30. START. If the page is the ‘home’ page, use the word ‘home’ as my body’s classname; but if it’s in the ‘portfolio’ category, use the word ‘portfolio’ as my body’s classname; unless it’s in the ‘speaking’ category, then use the word ‘speaking’ as my body’s classname; or if it’s the ‘publication’ page, use the word ‘publication’ as my body’s classname; but if it’s a 404 or search results page, use the word ‘results’ as my body’s classname; or if it’s none of the above, just use the word ‘default’ as my body’s classname. END. Set up a variable you can use later on
  • 31. <?php if (is_home()) { // Home $bodyclass="home"; } elseif (is_category('portfolio')) { // Portfolio $bodyclass="portfolio"; } elseif (is_category('speaking')) { // Speaking $bodyclass="speaking"; } elseif (is_page('publication')) { // publication $bodyclass="publication"; } elseif (is_404() || is_search()) { // 404 or search $bodyclass="nothing"; } else { // default $bodyclass="blog"; } ?> Set up a variable you can use later on
  • 32. is_home <?php if (is_home()) { // Home $bodyclass="home"; } elseif (is_category('portfolio')) { // Portfolio $bodyclass="portfolio"; } elseif (is_category('speaking')) { // Speaking $bodyclass="speaking"; } elseif (is_page('publication')) { // publication $bodyclass="publication"; } elseif (is_404() || is_search()) { // 404 or search $bodyclass="nothing"; } else { // default $bodyclass="blog"; } ?> Set up a variable you can use later on
  • 33. is_category <?php if (is_home()) { // Home $bodyclass="home"; } elseif (is_category('portfolio')) { // Portfolio $bodyclass="portfolio"; } elseif (is_category('speaking')) { // Speaking $bodyclass="speaking"; } elseif (is_page('publication')) { // publication $bodyclass="publication"; } elseif (is_404() || is_search()) { // 404 or search $bodyclass="nothing"; } else { // default $bodyclass="blog"; } ?> Set up a variable you can use later on
  • 34. is_page <?php if (is_home()) { // Home $bodyclass="home"; } elseif (is_category('portfolio')) { // Portfolio $bodyclass="portfolio"; } elseif (is_category('speaking')) { // Speaking $bodyclass="speaking"; } elseif (is_page('publication')) { // publication $bodyclass="publication"; } elseif (is_404() || is_search()) { // 404 or search $bodyclass="nothing"; } else { // default $bodyclass="blog"; } ?> Set up a variable you can use later on
  • 35. is_404() || is_search <?php if (is_home()) { // Home $bodyclass="home"; } elseif (is_category('portfolio')) { // Portfolio $bodyclass="portfolio"; } elseif (is_category('speaking')) { // Speaking $bodyclass="speaking"; } elseif (is_page('publication')) { // publication $bodyclass="publication"; } elseif (is_404() || is_search()) { // 404 or search $bodyclass="nothing"; } else { // default $bodyclass="blog"; } ?> Set up a variable you can use later on
  • 36. <body> Set up a variable you can use later on
  • 37. <body class="PUT_THE_CLASSNAME_HERE"> Set up a variable you can use later on
  • 38. <body class="<?php echo $bodyclass; ?>"> Set up a variable you can use later on
  • 39. WP Candy Template hierarchy diagram j.mp/wphierarchy
  • 40. WP Candy WordPress Help Sheet j.mp/wphelpsheet1
  • 41. WP Candy Advanced WordPress Help Sheet j.mp/wphelpsheet2
  • 42. <li class="blog"> <a href="http://elliotjaystocks.com/blog/"> Blog </a> </li> <li class="portfolio"> <a href="http://elliotjaystocks.com/portfolio/"> Portfolio </a> </li> <li class="speaking"> <a href="http://elliotjaystocks.com/speaking/"> Speaking </a> </li> Set up a variable you can use later on
  • 43. <li class="blog"> <a href="<?php bloginfo('url'); ?>/blog/"> Blog </a> </li> <li class="portfolio"> <a href="<?php bloginfo('url'); ?>/portfolio/"> Portfolio </a> </li> <li class="speaking"> <a href="<?php bloginfo('url'); ?>/speaking/"> Speaking </a> </li> Set up a variable you can use later on
  • 47. Multiple single.php templates j.mp/multiplesingle
  • 49. Plugins for basic use Akismet Author Highlight Comment Timeout Google XML Sitemaps Maintenance Mode
  • 50. Advanced plugins for CMS use Advanced Excerpt Duplicate Post Improved Include Page Top Level Categories
  • 51. Start with an existing theme (starting from scratch = scary)
  • 52. Integrating scripts & stylesheets
  • 53. Including jQuery the right way j.mp/jquerywp
  • 54. A quick word on child themes
  • 55. A portfolio powered by WordPress
  • 57. If you liked this, you’ll love...
  • 58. The ultimate tutorial themeshaper.com/wordpress-themes-templates-tutorial/
  • 59.
  • 60. Shameless plug! Sexy Web Design by Elliot Jay Stocks Expert reviewers: Jina Bolton & Dan Rubin Published by SitePoint
  • 61.
  • 62.
  • 63. Thank you! elliotjaystocks.com | twitter.com/elliotjaystocks Pin-ups image by Mauren Veras - flickr.com/photos/mauren/2298724158/ Paint textures from The Stock Exchange - sxc.hu Set in FS Clerkenwell - fontsmith.com/font_details.php?font_num=251