Ways to extend and customize WordPress. As Bill puts it,
I love using WordPress as a CMS because it empowers people to control their own website.
- Options-based – more streamlined, easier to use
- Code-based – better for development (more control)
Bill demonstrated what you can build fast using frameworks. They can be an efficient design tool.
Thesis is good for clients to tweak design if that’s desirable, but it can also cause problems (they can break site design).
Doesn’t think that updating frameworks is critical – usually updates are just added features. If updating might affect site, there’s no real need to do updates. (NB: Of course, you would want to update the WordPress installation for security, etc. reasons).
If you use a child theme, you can update the framework/theme, because your custom design resides in child theme files rather than core theme/framework files.
Custom Post Types, Taxonomies, Meta Boxes
Custom post types allow you to organize content in logical ways. You can strip post window down to just the necessary options, which is easier for the client.
Custom Post Type UI
Multiple columns are great to make WordPress more of a CMS. Using HTML in editor is not recommended. You can use sidebars to create extra columns, but it divides page content. Shortcodes can work, but it’s a lot for clients to remember.
Solution Bill uses: unused headline tag (e.g. h6). Runs filter to look for that code and then creates div to make a new column.
Easy to create your own widgets.
Don’t install Exec PHP plugin – don’t put PHP in sidebar, can break site.
If you create your own widget then you can drop your PHP in that.
- Widget Logic – write logic for where widgets will show up
- Widget Classes – allows custom styling
(Code will be linked in the notes, will be posted later)
Easier than using HTML/other code for clients to add content to site.
Bill recommended work by Justin Tadlock, a great resource for people using WordPress.
Ethics on using frameworks: can you charge the client the same amount if it takes you half the time? Bill’s answer: you may save time coding but there is still a lot of customization and expertise involved. But the product is better because you’re building on a solid codebase. The value of your work is better. It’s comparable to using WordPress rather than static HTML.
Adds community features to the site. Bill uses Genesis because there’s a Genesis-specific plugin to work with BuddyPress.
In describing work he did for a client, Bill said,
I feel like a happiness engineer.