Austin WordCamp and Developer Day, 2012

overflowing classroom
wonderful information and discussion, applied continually

Notes below…

Wordcamp Austin 2012 (Saturday, May 19)

(jump to Developer Day)


Bill Erickson – Managing a Freelance WP business

  • starts 2-4 projects a week; 20 active at any time
  • system qulaifying clients
  • gmail canned response extension
  • requires 25% up front to be added to his schedule
  • ties payment to the start of the project not the end
  • 75% payable in 15 days

clear communication

  • clear timeline inc. payment schedule
  • “as of (today) i’m available to start on (date)”
  • makes clear if you start later it may not be that same number of days to start
  • issue of the phone time-wasters: limited to 1 hour, after that hourly rate
  • won’t sell your theme, but may provide a feature i built for you as a free plugin after the project

collecting data and iterate

  • uses a project management tool he built himself instead of basecamp
  • CRM custom post type for the subdomain site he built

tools of the trade

  • Email: gmail plus canned responses
  • CRM: Genesis CRM site he built
  • Project Management: Genesis CRM + TaDa Lists (37signals)
  • TimeTracking: Freckle, Toggl
  • Invoicing: Freshboks

q&a scheduling tool

scope creep

  • requires a layered PSD design up front before starting
  • any changes, new quote


  • wp101 plugin
  • provides bulleted list of what he’s done for the client

difference b/t how much more work the (great) designer does–they learn from and educate the client

  • his current favorite designer’s (avg.) cost: $1500

releasing and supporting plugins

  • won’t deal with releasing complex plugins any more
  • releases only really simple plugins on
  • moved his contributions to github (rather than on for this reason; sets a minimum barrier

why genesis

  • prefers framework for a standardized codebase
  • dev friendly: group of devs working together to improve it
  • easy to browse
  • marketing: much traffic from studiopress site
  • will check the Automattic _s theme/framework

do you add content to the site?

  • only what’s provided in the design


  • anyone who markets themself as a WP host will likely be better


  • booked 4-8 weeks in advance
  • they have 10 days to identify issues, w/in the scope, after the site is live
  • after that regardless of the problem it’s hourly rate

plugins and updates

  • always updates the main plugins; the one’s he’s installed


  • depends on fast loading site
  • well-structured markup (Genesis and good code)
  • writing good content
  • install Scribe as a teaching tool

his sysadmin


gravity forms

  • dev license he pays every year
  • var to set for setting the api, so when he sends to clients it stays with his license


enterprise seo

  • organic search
    — the factory work of seo
  • google preferring (large) brands
  • distinction b/t the necessary marketing
  • links from .edu domains powerful


  • prefers yoast
  • use goog analalytics and webmaster tools (or bing tools; but bing depends on if you’re getting hits from it)
  • he likes the Thesis theme
  • pinterest is driving more traffic than is twitter; demographic dependent
  • use facebook comments

the non-semantic web

  • ex. map of the internet in 2006; a box with boxes in it, direct relationships b/t them

the semantic web

google penguin

major change in google’s ranking algorithms

things that hurt site’s results

  • overoptimization
  • want more branded links
  • cracking down on link exchanges, footer links

blue hat seo

seo mercenaries

tools without a budget

  • majestic Seo
  • optimizely
  • do a/b testing
  • Seo mix
  • pzyche
  • textbroker (provides you content)
  • distinction b/t brand building and seo
  • my blog guest
  • create infographics
  • provide the embed code

  • odesk or elance for creating infographics or video transcriptions

re. alt tags: see how pinterest does it

Host your own stuff


Grey hat

jQuery the missing UI library for the web

sortable plugin

Videos on envato


things I wished I knew by automattic

new site

  • ebooks

Only use plugins

  • from reputable sources
  • that have been updated recently
  • that you’ve talked to people about
  • that you have inspected the code from
  • that haven’t been cobbled together (by you or others)

Same themes for themesy

Giving back to the community (forums etc.) helps you learn


Book by mike montero “design is a job”

bbPress 101


low barrier to entry

don’t confuse with BuddyPress. bbPress is the forum component within it

bbPress can also be used standalone in pre-2.x versions

bbPress is simple on purpose

examples of plugins

  • forum signatures
  • attachments
  • advanced notifications
  • search
  • quotes

as of v. 2.0, bbPress is a WP plugin, not standalone.

  • one of the most advanced CPTs
  • forum: CPT
  • topics (threads): CPT
  • replies: CPT
  • topic tags: custom taxonomies
  • loads of trickery

2.1 update coming

  • new theming method
  • WYSIWYG (tiny MCE)
  • improved importer

2.1 theming

  • automatic detection: just move new theme files into your directory (not the whole theme)

theme packs

  • more advanced way to doing themes
  • themes can be delivered as plugins

bbPress visual hooks (jared made)

developing w/bbPress

  • hooks and filters are everywhere
  • coding standards ++
  • great documentaition (inline!)
  • great learning platform
  • learning bbPress will make you a begtter dev and more familiar w/WP
  • bbPress plugins in high demand
  • the barrier to entry is low

other presentation slides

Securing WP

Austin WordCamp Developer Day 2012


Integrating WordPress with External APIs

Aaron Campbell; the owner and lead developer at Blue Dog Web Services, WP core contributor

slides using deck.js

reading API documentation

assume it’s out of date or wrong

API code libraries

  • don’t use–usually poorly done (except to learn how the API works so you can write your own)
  • often don’t do things the WP way
  • some JS libraries not optional

applying to use an API key

It’s like a password; don’t share it

WP built-in functions

  • slide 18; check ’em out
  • see code samples following


since it’s on someone else’s server, cache as much as possible

  • cache actual output
  • cache at least one response if at all possible
  • only bust it when you actually need to
  • options over transients
  • TLC Transients

incoming data

data you didn’t request; e.g. PayPal sending info about a recurring payment being cancelled

build a listener

see slide 28

once data received, use a do_action() statement to allow people to hook into

final thoughts

Advanced Development Techniques

Bill Erickson


never use query_posts

*use pre_get_posts to tell WP how many posts
see his “Improve performance of WP_Query

see JJJ post on this on

metaboxes are your friend

*use the custom metaboxes

see built-in field types list

use a core functionality plugin

  • any functionality you want to keep when you change themes, put in a plugin
  • put in the mu-plugins folder so client can’t turn off

bundle plugins with themes


custom template heirarchy

use template_include filter

working with Genesis

he removes all the genesis stuff that site won’t need and adds everything he will

  • first look through carefully what genesis does
  • you already have a functional site; just figure out what needs to be different
  • do as minimal as possible

Bill always removes the ‘Links’ post type; WP will (is planning to?) change Links will be changed to a CPT

Michael Fields on github for great plugins; also Automattic

follow the blogs of the contributors at sudiopress/tutorials

Know Thy Place: Where to hook into WordPress with actions and filters

Ryan Duff

Download/install the debug bar

see editing the wp_config file

Debug Bar console, Debug bar extender, WP CLI (?)

other tools

  • SublimeText (Win)
  • Komodo for each OS
  • auto deploying through github/svn (capistrano/beanstalk)

local / dev / production


  • Automattic says commit often
  • they use P2 for project management (maybe try instead of campfire)
  • FaultPress (woothemes), like BaseCamp as a theme
  • Asana recommended by Clark Wimberly; hosted, free up to 29 members
  • see MNPP to use instead of MAMP


Cube Points for driving user interaction

Getting to third base with wp_insert_post()

Clark Wimberly: ClarkLab,


jQuery plugin markitup

login plugin for a dropdown login from any page they go to

if you get an android phone to test with, make sure it says google on it (or google experience); or use emulator

Responsive Design With Twitter Bootstrap and LESS

Nick Batik



LESS compilers

  • CodeKit (OSX)
  • [SimpLESS[(

converting genesis themes to twitter bootstrap

see Nick’s github start on this

for another genesis responsive child theme, Bones , also here

WP global variable is_iphone global variable to detect any phone

upcoming WordPress Summit online conference

  • May 30 9-4
  • discount code bacon

Leave a Reply