Child (Daughter) themes

Make changes to existing themes without modifying them directly

Child themes:
Allow you to brand themes for clients in admin area

To build:

  • Template: (parent)

Parent themes don’t have template tag in comment header

  • Theme name: (your name)

First line in your child theme imports (parent’s) stylesheet

  • Include screenshot.png to get WordPress to use it in admin appearance area

Eg. Copy footer.php into daughter theme folder to change copyright footer

  • WordPress prefers php files in daughter folder over parent

Exception function.php – both parent and daughter are loaded (daughter first, parent second)

Functions.php

Don’t hack framework code ;)
Prefer extension-plugin mechanisms, Apis

WordPress alternatives:

  • Child themes: changes that go away if your theme changes
  • Site plugin: changes that shouldn’t go away – ever

Plugins:
Wp-content/plugins
Create a dir (eg. akismet)
Create a file (eg. a.php – no filename restrictions)
Can create a header in the plugin’s php file that provides info to admin backend
Note: Plugins load before themes

Theme development best practices

Documentation standard: phpdoc

  • Page-level
  • Function-level
  • Think about copyright and license restrictions documentation

Use child themes

  • get_stylesheet_dir – files intended to be overridden by child themes
  • get_template_dir – files not intended to be overridden by child themes
  • get_template_part – graceful fallback mechanism for including template fragments (eg. header-404.php)

Stylesheets & scripts

  • Use wp_enqueue_scripts

Gravity forms?

add_*_page to insert admin pages into we backend

  • Eg. add_theme_page(…) adds subpage to Appearance menu
  • For special admin panel configuration for a theme

Multisite

Multi-tenant wp installation
Make.wordpress.org
Buddypress.org

Multisite examples:

  • Bestbuy
  • Universities/colleges
  • Businesses
  • WordPress.com
  • Liberal association?

Pm101 – project management for small business

Think on time, on budget… but much more to it

Flexible but firm
Deadlines are important but inherently arbitrary

3 stages of a project: starting, work, finishing

Starting

Define 4 things:
Scope
Budget
Timeline
Objectives – kpi

(may need discovery step – who, where and why. Identify project roles: who has go, no-go decision, who’s the Pm. Business model, overall objectives, marketing strategy)

Best projects have fixed and flexible characteristics. Eg. scope and budget are fuzzy but have to be ready for demo next Tuesday

Interesting/revealing questions:
What browser do you use daily?
“I don’t know, whatever’s on my computer?”
Gauge tech savvy

Work

Communicate what you need and when
Feedback
Follow up

Set expectations as you go
Browser limitations
Unknowns…
Wordpress.com/.org

More important to keep things moving than to be right

Read Dan Pink’s drive

Finishing

Launch party (do something to acknowledges effort of team)
Maintenance
Evolve/enhance