SlideShare a Scribd company logo
1 of 34
WordPress Theme Frameworks. A Rough Guide. Wordcamp Ireland, 6th March 09.
Eddie Johnston Web Designer / Developer Strandhill, Sligo
 
What is a Framework? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is a Framework?
Analogy ~ a Theme. Looks great. Built with particular functionality. Can be difficult to modify and personalise. Designed as an  end product.
Analogy ~ a Framework. Looks drab. Built for multiple usage scenarios. Created with modification in mind.
Analogy ~ a Framework. Designed to be a  solid starting point.
How They Work. ,[object Object],[object Object],[object Object],[object Object],[object Object]
Advantages. ,[object Object],[object Object],[object Object],[object Object],[object Object]
Creating a Framework. /* Theme Name: mychild Template:   kubrick */ #headerimg { display:none; } #content .narrowcolumn { width:300px; } style.css function   mychild_header_color () { . . . } add_filter( 'kubrick_header_color' ,  mychild_header_color ); > mkdir mychild; vim mychild/style.css; functions.php 2. Point to the framework. Style as required. 1. Create a child-theme directory and stylesheet. 3. Override specific functionality.
Poor Framework Themes. ,[object Object],[object Object],[object Object]
Poor Framework Themes. Not designed for expansion.
Poor Framework Themes. Changing  appearance can be tricky Changing  functionality can be a chore
Great Framework Themes. ,[object Object],[object Object],[object Object]
Great Framework Themes. Solid foundations, designed to be  built on .
Great Framework Themes. Customising is quick  &  easy.
Great Framework Themes.
Thematic. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Extensive Markup. ,[object Object],<body   class= &quot;wordpress y2010 m03 d01 h10 home blog not-singular loggedin mac firefox ff3&quot; > thematic <body   class= ”home blog logged-in&quot; > kubrick ,[object Object],[object Object]
Multiple Hooks. ,[object Object],<h3> Title </h3> <h3> <span> Title </span> </h3>
Multiple Hooks. ,[object Object],function   pre_widget_title ( $pre ) {  return   $pre . '<span>' ;  }   function   post_widget_title ( $post ) {  return   '</span>' . $post ;  }   add_filter( 'thematic_before_title' ,  pre_widget_title ); add_filter( 'thematic_after_title' ,  post_widget_title ); functions.php <h3> <span> </span> </h3> <h3> </h3>
Multiple Hooks. ,[object Object],<p> Hello World </p>
Multiple Hooks. ,[object Object],function   my_page_access () { ?> <div id= &quot;access&quot; > <div class= &quot;menu&quot; > <ul class= &quot;sf-menu&quot; > <li><a href= &quot;http://perfectpints.com/..&quot; >Find </a></li> <li><a   href= &quot;http://perfectpints.com/..&quot; >Craic </a></li> <li><a   href= &quot;http://perfectpints.com/..&quot; >Shop </a></li> <li><a   href= &quot;http://perfectpints.com/..&quot; >Profile </a></li> </ul> </div> </div> <?php } remove_action( 'thematic_header' ,  thematic_access ); add_action( 'thematic_header' ,  my_page_access ); functions.php
Modular CSS. ,[object Object],/*  Theme Name: mychild Template: thematic */ /* 1. Reset browser defaults */ @import   url ( '../thematic/library/styles/reset.css' ); /* 2. Apply basic typography styles */ @import   url ( '../thematic/library/layouts/2c-r-fixed.css' ); /* 3. Apply a basic layout */ @import   url ( '../thematic/library/styles/18px.css' ); /* 4. Apply default theme styles and colors */ @import   url ( '../thematic/library/styles/default.css' );
 
 
 
Great Widget Support.       
Community Developed. Anyone know how to add  a span to the inside of every heading tag? If you wait till tomorrow, I  should have an easy solution. Need to do some tests first.
Community Developed.
Community Developed. Super stuff, works a treat! Here you go. Check out the  latest version from the source and add this to your code …
A Future Default WP Theme?
A Future Default WP Theme?

More Related Content

What's hot

The Way to Theme Enlightenment
The Way to Theme EnlightenmentThe Way to Theme Enlightenment
The Way to Theme EnlightenmentAmanda Giles
 
關於網頁前端的兩三事
關於網頁前端的兩三事關於網頁前端的兩三事
關於網頁前端的兩三事府峰 余
 
Creating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsCreating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsAmanda Giles
 
Web Design Fundamentals
Web Design FundamentalsWeb Design Fundamentals
Web Design FundamentalsAhmed Faris
 
WordPress SEO & Optimisation
WordPress SEO & OptimisationWordPress SEO & Optimisation
WordPress SEO & OptimisationJoost de Valk
 
14- Learn CSS Fundamentals / Inheritance
14- Learn CSS Fundamentals / Inheritance14- Learn CSS Fundamentals / Inheritance
14- Learn CSS Fundamentals / InheritanceIn a Rocket
 
10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elements10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elementsIn a Rocket
 
Bootstrap Introduction
Bootstrap IntroductionBootstrap Introduction
Bootstrap IntroductionAndrea Tarr
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersMelvin John
 
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalWordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalChandra Prakash Thapa
 
Custom WordPress theme development
Custom WordPress theme developmentCustom WordPress theme development
Custom WordPress theme developmentTammy Hart
 
Smarter Grids with Sass and Susy
Smarter Grids with Sass and SusySmarter Grids with Sass and Susy
Smarter Grids with Sass and SusyMichelle Barker
 
WordPress Theme Structure
WordPress Theme StructureWordPress Theme Structure
WordPress Theme Structurekeithdevon
 
Smarter Grids with Sass and Susy...and Wordpress!
Smarter Grids with Sass and Susy...and Wordpress!Smarter Grids with Sass and Susy...and Wordpress!
Smarter Grids with Sass and Susy...and Wordpress!Michelle Barker
 
Drupal7 Release Party in Luxembourg
Drupal7 Release Party in LuxembourgDrupal7 Release Party in Luxembourg
Drupal7 Release Party in Luxembourgnvisionagency
 
A modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianA modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianMagnolia
 

What's hot (20)

The Way to Theme Enlightenment
The Way to Theme EnlightenmentThe Way to Theme Enlightenment
The Way to Theme Enlightenment
 
關於網頁前端的兩三事
關於網頁前端的兩三事關於網頁前端的兩三事
關於網頁前端的兩三事
 
Creating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsCreating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable Needs
 
Web Design Fundamentals
Web Design FundamentalsWeb Design Fundamentals
Web Design Fundamentals
 
WordPress SEO & Optimisation
WordPress SEO & OptimisationWordPress SEO & Optimisation
WordPress SEO & Optimisation
 
Please dont touch-3.6-jsday
Please dont touch-3.6-jsdayPlease dont touch-3.6-jsday
Please dont touch-3.6-jsday
 
CSS Best practices
CSS Best practicesCSS Best practices
CSS Best practices
 
14- Learn CSS Fundamentals / Inheritance
14- Learn CSS Fundamentals / Inheritance14- Learn CSS Fundamentals / Inheritance
14- Learn CSS Fundamentals / Inheritance
 
10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elements10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elements
 
Seven deadly theming sins
Seven deadly theming sinsSeven deadly theming sins
Seven deadly theming sins
 
Bootstrap Introduction
Bootstrap IntroductionBootstrap Introduction
Bootstrap Introduction
 
Introduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for DevelopersIntroduction to Bootstrap: Design for Developers
Introduction to Bootstrap: Design for Developers
 
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalWordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
 
Custom WordPress theme development
Custom WordPress theme developmentCustom WordPress theme development
Custom WordPress theme development
 
Smarter Grids with Sass and Susy
Smarter Grids with Sass and SusySmarter Grids with Sass and Susy
Smarter Grids with Sass and Susy
 
WordPress Theme Structure
WordPress Theme StructureWordPress Theme Structure
WordPress Theme Structure
 
Smarter Grids with Sass and Susy...and Wordpress!
Smarter Grids with Sass and Susy...and Wordpress!Smarter Grids with Sass and Susy...and Wordpress!
Smarter Grids with Sass and Susy...and Wordpress!
 
Drupal7 Release Party in Luxembourg
Drupal7 Release Party in LuxembourgDrupal7 Release Party in Luxembourg
Drupal7 Release Party in Luxembourg
 
Artdm171 Week4 Tags
Artdm171 Week4 TagsArtdm171 Week4 Tags
Artdm171 Week4 Tags
 
A modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at AtlassianA modern front end development workflow for Magnolia at Atlassian
A modern front end development workflow for Magnolia at Atlassian
 

Similar to WordPress Theme Frameworks Guide Thematic Kubrick

WordPress Development Confoo 2010
WordPress Development Confoo 2010WordPress Development Confoo 2010
WordPress Development Confoo 2010Brendan Sera-Shriar
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyLeslie Doherty
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Dutyreedmaniac
 
Developing components and extensions for ext js
Developing components and extensions for ext jsDeveloping components and extensions for ext js
Developing components and extensions for ext jsMats Bryntse
 
WordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big wordsWordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big wordsTomAuger
 
Alfresco from an agile framework perspective
Alfresco from an agile framework perspectiveAlfresco from an agile framework perspective
Alfresco from an agile framework perspectiveJeff Potts
 
The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017Amanda Giles
 
Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)christopherfross
 
10 Steps to Becoming a WordPress Theme Ninja
10 Steps to Becoming a WordPress Theme Ninja10 Steps to Becoming a WordPress Theme Ninja
10 Steps to Becoming a WordPress Theme NinjaTony Cecala, Ph.D.
 
Debugging and Error handling
Debugging and Error handlingDebugging and Error handling
Debugging and Error handlingSuite Solutions
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Ryan Price
 
WordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPWordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPandrewnacin
 
Developing Custom WordPress Themes for Clients
Developing Custom WordPress Themes for ClientsDeveloping Custom WordPress Themes for Clients
Developing Custom WordPress Themes for ClientsSteven Slack
 
Frontend for developers
Frontend for developersFrontend for developers
Frontend for developersHernan Mammana
 
WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1Yoav Farhi
 
How to learn to build your own PHP framework
How to learn to build your own PHP frameworkHow to learn to build your own PHP framework
How to learn to build your own PHP frameworkDinh Pham
 
Hanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.framework
Hanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.frameworkHanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.framework
Hanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.frameworkNguyen Duc Phu
 

Similar to WordPress Theme Frameworks Guide Thematic Kubrick (20)

WordPress Development Confoo 2010
WordPress Development Confoo 2010WordPress Development Confoo 2010
WordPress Development Confoo 2010
 
SiteMesh
SiteMeshSiteMesh
SiteMesh
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
 
presentation
presentationpresentation
presentation
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
 
presentation
presentationpresentation
presentation
 
Developing components and extensions for ext js
Developing components and extensions for ext jsDeveloping components and extensions for ext js
Developing components and extensions for ext js
 
WordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big wordsWordPress development paradigms, idiosyncrasies and other big words
WordPress development paradigms, idiosyncrasies and other big words
 
Alfresco from an agile framework perspective
Alfresco from an agile framework perspectiveAlfresco from an agile framework perspective
Alfresco from an agile framework perspective
 
The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017The Way to Theme Enlightenment 2017
The Way to Theme Enlightenment 2017
 
Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)Building the basics (WordPress Ottawa 2014)
Building the basics (WordPress Ottawa 2014)
 
10 Steps to Becoming a WordPress Theme Ninja
10 Steps to Becoming a WordPress Theme Ninja10 Steps to Becoming a WordPress Theme Ninja
10 Steps to Becoming a WordPress Theme Ninja
 
Debugging and Error handling
Debugging and Error handlingDebugging and Error handling
Debugging and Error handling
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
 
WordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPWordPress 3.0 at DC PHP
WordPress 3.0 at DC PHP
 
Developing Custom WordPress Themes for Clients
Developing Custom WordPress Themes for ClientsDeveloping Custom WordPress Themes for Clients
Developing Custom WordPress Themes for Clients
 
Frontend for developers
Frontend for developersFrontend for developers
Frontend for developers
 
WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1WordPress Developers Israel Meetup #1
WordPress Developers Israel Meetup #1
 
How to learn to build your own PHP framework
How to learn to build your own PHP frameworkHow to learn to build your own PHP framework
How to learn to build your own PHP framework
 
Hanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.framework
Hanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.frameworkHanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.framework
Hanoi php day 2008 - 01.pham cong dinh - how.to.build.your.own.framework
 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Recently uploaded (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

WordPress Theme Frameworks Guide Thematic Kubrick

Editor's Notes

  1. This Session on WordPress Theme Frameworks covered what frameworks are, how they work and why theme developers should use them. It also gave an overview of the Thematic framework, described its main features and gave some real world examples of these features in use.
  2. I came from a Computer Science background originally. I spent a long time in research (in Machine Learning / Artificial Intelligence) and was more of a programmer than a designer but always had an interest in website design and development, mostly as a hobby. I decided to move to the Northwest of Ireland (Sligo) about a year ago and because there weren’t too many jobs going in AI decided to try turn my hobby into my career. I set up a small web development business called Beanstalk.
  3. I figured that a lot of my work would be WordPress related (most of the people I work with are small business owners) and had been playing about with themes for long enough to realise that if I was to do this as my job, I’d need a good solid platform to work from (otherwise I’d be making life hard for myself). I started doing some research into good base themes. Initially I worked with Kubrick as a starting point but knew there had to be a better approach. I moved from Kubrick to Sandbox which was much better, and eventually settled on using Thematic as the base to all of my work. My Workflow has improved immensely through the use of Framework and I’d thoroughly recommend giving them a whirl.
  4. So what exactly IS a Framework? It’s just a theme. But one designed specifically for customising &amp; extending. The first real Framework was Sandbox which was released in 2006 by Scott Wallick and Andy Skeleton. IT was different from other themes at the time in that it had a very minimalist style (almost a blank canvas) but very expressive and well marked up html.
  5. Sandbox was the first WP theme to use contextual classes which allowed almost anything to be changed visually via CSS alone (I.e. without editing the PHP of the theme). The Idea for Sandbox originated in Nepal where Wallick spent three years on a Peace Corps placement. He was sick of downloading bloaty, meaty blogs with his 28kb modem and started working on a minimalist theme that would later develop into Sandbox. Development of Sandbox stopped in 2010 because the key functions that generated the contextual classes had been ported to WP Core.
  6. If a framework is a theme, then how do they differ? Themes (like designer computers) are really designed as an end product and can be difficult to personalise.
  7. A framework is like a kit pc. They look drab out of the box but are designed to be personalised.
  8. You can end up with some highly functional, great looking products.
  9. Frameworks work by acting as a starting point for theme development. You don’t actually edit the framework files themselves but create a child theme. The child theme inherits all of the style and functionality of the parent theme so you just have to change the parts you need to. This has a number of advantages.
  10. Frameworks give a great headstart to your design projects because all of the basic will be in place (like structure, text formatting, typography, line spacing) and you just have to add the style / function that’s unique to every theme. You’ll have consistent code across all of your projects (which makes theme easier to maintain) and the core Framework files an be updated easily without affecting your child themes.
  11. Creating and using a Framework is easy. Just create a child theme directory, point to the Framework from your style.css file and start overriding or styling the CSS in the same file. You can override specific functionality in your child themes functions.php file if you wish, but this isn’t a required step. Note that ANY theme can be used as a Framework. In this example we’re using Kubrick as our Framework (!)
  12. However, most themes are unsuitable for use as a Framework because the markup the produce (I.e. the (x)html) is too light and not designed to be extended with ease. The functions within the theme are often difficult to override too.
  13. Most themes aren’t designed for expansion / personalisation because they don’t have a solid foundation designed for building on.
  14. Changing their appearance and functionality can be tricky and is likely to involve a lot of work.
  15. Great Framework themes output very extensive markup (ala Sandbox) that is easy to style. They provide multiple opportunities for changing their functionality through the provision of action and filter hooks (explained later).
  16. Customising a good Framework theme is easy and the amount of work involved will be minimal relative to the scale of the Framework.
  17. The more you use and get used to Frameworks, the more you’ll benefit from them.
  18. Thematic, released in 2008 by Ian Stewart, is an excellent Framework to use. There are others, but Thematic appears to be the most popular in online polls and for good reason, At time of writing, the current release is 0.9.6.2.
  19. Thematic produces markup like Sandbox (the classes are probably a little more developed). If you wanted, you could do things like rotate the theme of you blog in line with the time of year (or time of day) using CSS alone. While most themes produce pretty good semantic markup these days (I.e., they use html elements as per how they were designed to be used, tables for tabular data, italics for emphasis text etc), Thematic has a few things it does quite well, like nofollow links to your RSS feeds by default, and noindex your blog archives to minimise duplicate content. The great things about all of these features is that they can be very easily overridden or removed.
  20. You can override the functionality of Thematic through its Filter and Action Hooks. A filter is basically an opportunity to ‘filter’ the default output of the Framework. Thematic provides approximately 150 filterable functions. As an example, suppose you wanted to change the tags that surround the titles of your widgets. By default, these are level-three headings (&lt;h3&gt;’s), We might want to put a span between the headings and the title text to allow us to easily use an image for the title instead of text (this is an old image replacement technique, it would be advisable to use something like sIFR nowadays).
  21. To do this, we would just need to add our own filter to the Thematic functions that produce the opening and closing &lt;h3&gt; tags - thematic_before_title and thematic_after_title. Our filters simply take the output of these default functions and add a span to them. Done!
  22. An action is like a placeholder in the Framework that you can inject your own code into.
  23. In this example, I’m removing the menu that is created by the Framework and putting in a static men that points to pages on another domain. Again, this is straightforward to do and can be implemented in your functions.php file. You don’t have to go editing the header template.
  24. Thematic comes with a number of minimalist but functional CSS files as standard. This example is best viewed by downloading the Framework and commenting out each stylesheet in turn. You can choose to use these basic styles as your own core sylesheet or create a custom one.
  25. I’ve made my own core stylesheet with a strict grid-based layout. This makes it much easier to create nice layouts as every element has its place on the grid.
  26. I create a separate stylesheet for each new project to style colours, images, alignment etc. The core styles are inherited from my core sheet.
  27. Using Thematic and a good core stylesheet allows me to create any kind of design, they don’t all have too look similar.
  28. Thematic makes working with Widgets extremely easy. There are 13 widget areas in the current release (some of which are shown above). To use the widget areas, you just drag and drop you widgets into the required bar in the back-end. Installation of widgets is also easy - just create a widgets directory in your child theme and drop the widget files into them. Thematic automatically scans for this widgets directory when its building the widget list.
  29. One of the aspects of Thematic that makes it really stand out are the excellent help forums. When I first started using it, I posted a question on the forum which had a response from one of the Thematic contributors within a few minutes..
  30. I left it with him overnight and came back to the forum the following day.
  31. Chris had created a new release of Thematic with the two new hooks overnight. I downloaded the latest version from the repository and my problem was solved. Amazing.
  32. One of the other reasons for using Thematic over other themes is the recent news that Ian Stewart announced.
  33. Ian is now working as part of the new Theme team with Automattic, so we’re likely to see some of the features that make Thematic great in future WP default themes. Enough said, download Thematic now at http://themeshaper.com/.