WortdPress Child themes: Why and How

  • View
    3.118

  • Download
    0

Embed Size (px)

DESCRIPTION

The slides from my talk at WordCamp Torornto 30 Sept 2012

Text of WortdPress Child themes: Why and How

  • Daughter Themes (aka: Child-Themes)And why you need to know about them
  • Why AndHo
  • No theme will fit all sites
  • You cant apply an update to atheme without losing yourchanges
  • Creating whole themes is hard
  • Daughter themes are easy
  • You can use framework themes to save effort
  • You can brand a theme for your client
  • The code needed/*Theme Name: You Company Theme.Theme URI: http://bearne.caAuthor: Paul BearneTemplate: twentyelevenAuthor URI: http://bearne.ca/Description: This is the special theme I created just for your companyswebsite.Version: 1.0License: GNU General Public LicenseLicense URI: license.txtTags: dark, light, white, black, gray, one-column, two-columns, left-sidebar,right-sidebar, fixed-width, flexible-width, custom-background, custom-colors,custom-header, custom-menu, editor-style, featured-image-header, featured-images, full-width-template, microformats, post-formats, rtl-language-support,sticky-post, theme-options, translation-ready*/@import url(../twentyeleven/style.css);
  • How to install it Save as style.css In a new folder called "theme-name" ... for example: " YourCompanyTheme" Create a zip of the folder - newTheme.zip (this zip needs a subfolder with the style.css in it ) Upload it
  • Or FTP it Upload it to the Themes folder in a new folder which follows to show the theme folder as: YourCompanyTheme
  • Add a thumbnail Upload an image screenshot.png
  • Replacing template files Copy just the files from parent theme that you need to change to you daughter folder and edit them. WordPress looks in the daughter folder first and loads the file if found
  • functions.php WordPress will load BOTH function.php files child function.php then the parent function.php So you only need to add the extra/replacement functions Example:
  • Template HierarchyIf your blog is at http://example.com/blog/ and a visitor clicks on a link to a category page like http://example.com/blog/category/your-cat/WordPress looks for a template file in the current Themes directory that matches the categorys ID. If the categorys ID is 4, WordPress looks for a template file named category-4.php. If it is missing, WordPress next looks for a generic category template file, category.php. If this file does not exist either, WordPress looks for a generic archive template, archive.php. If it is missing as well, WordPress falls back on the main Theme template file, index.php. http://codex.wordpress.org/Template_Hierarchy
  • Notes You cant have a child of a child (1 layer only) There is a very small performance hit
  • Some links http://codex.wordpress.org/Child_Themes http://themeshaper.com/modify-wordpress- themes/ http://wpfirstaid.com/2011/04/wordpress-child- themes/ http://themeshaper.com/modify-wordpress- themes/ @pbearne