I’ve got some disturbing news. Despite a glut of theme designers and marketplaces, it is still way too hard for photographers to find good WordPress themes for their websites.
After a lot of research and many purchases from premium theme shops, here’s the good news: there is an entire world of themes designed for, and marketed to, photographers that want to setup WordPress websites to showcase their photos. However, the bad news is that most of these themes suffer from what I like to call “proprietary workarounds”. These workarounds are essentially custom coded features built into the theme itself that allow users to do everything from displaying different styles of galleries, to grouping posts into Portfolios, to taking print orders.
While this sounds innocent enough, these features are often very bad news when it comes to the forward compatibility of your website with future versions of WordPress or other themes that you may choose to use down the road. In short, the way that these workarounds are implemented often make it impossible to switch to or from the theme in question without having to completely re-organize (and sometimes re-input!) your content within WordPress. Needless to say that defeats the purpose of WordPress having a theme system to begin with.
Still not following? Keep reading because what follows are a few specifics you should be very wary of when researching the purchase of your next WordPress Photography theme.
Use of Custom Post Types for creating “Portfolios”
This approach is utilized in nearly 3/4 of the themes I researched. I think it’s so popular because, by using a “custom post type”, the theme author can implement a special admin page for that post type – which makes it easy for users to spot where to go in the WordPress admin interface in order to create a “Portfolio”. Some themes make heavy use of these custom portfolio post types and many of them have custom data input fields for entering portfolio related meta data (such as the name of the client that commissioned the work).
While this feels like a great use of a custom post type, the implementation of it within the theme itself is very problematic. Consider the following scenario. Let’s say that a few months after installing the theme (and setting up your Portfolio) you want to switch to a new theme that doesn’t use the same custom post type? Poof! Gone is the Portfolio admin screen and along with it all of your Portfolio content. The content is still in WordPress’s database but because your “new new” theme does not use the same custom post type as your old theme, WordPress ignores those posts completely. If you are not a developer type, that content might as well be dead to you.
What’s even worse about this implementation approach is that “Portfolios” are really just a hierarchical grouping of Posts which WordPress already makes possible through the use of it’s core “Parent-Child Post” functionality. Using that feature, you can easily group any of your Pages (children) underneath any other page (a parent) using the core admin screens. So really, what this means is that these photography themes are implementing these workarounds really just to enable the easy input and display of some custom meta-data on the portfolio pages. That’s not worth the headache in my opinion as most photographers I know tend to use simple image galleries for there Portfolios.
Use of Custom Post Types for creating “Galleries”
Chances are that if the Theme designer used a custom Post types for implementing “Portfolios” they did the same for Galleries. This one really gets me worked up because WordPress has the ability to display a Gallery of images built in as a core feature. I accept the fact that the Gallery feature is not the easiest thing to wrap your head around (I’ve written a book all about it), however, re-implementing the core Gallery concept using custom Post types is just plain redundant, confusing, and generally a disaster when you go to switch themes.
Some themes even go as far as to circumvent WordPress’s core media library and store the info about what images are part of a Gallery in custom fields on those custom Post types. Again, completely redundant with what you can achieve using the core WordPress Gallery feature and pretty much dooms the Theme with respect to forward compatibility.
Custom Gallery Sliders, Slideshows, and Such
I don’t have a huge problem with this one because I believe that how a gallery is displayed is something a theme should implement. That said, many of “full page” photography Themes I researched bundle code from plugins that reside in the WordPress plugin repository in order to implement various “slider” or other presentation functionality. Again, sounds like a usability improvement (i.e. the user doesn’t have to download the separate plugins) but it has one important implication to be aware of:
- You cannot later install or update the “bundled” plugin directly from the WordPress plugin repository. This is something that you might want to do if the plugin author is updating their functionality more frequently than the theme author. I ran into this case when a Theme designer stopped making updates to their Theme and I wanted to get the latest and greatest plugin functionality from the plugin author directly.
Also, another issue I found is that in order to make the Theme’s special slider/slideshow functionality work, some themes do not use the standard gallery shortcode (or the HTML markup that it generates). Instead, they bypass the core Gallery feature and rely on special theme templates to make galleries work. This is a disaster for forward compatibility when you go switch themes. It also means that you may or may not be able to utilize other plugins that add additional slideshow/slider capabilities because most of these plugins typically rely on the core Gallery system. Again milage may vary here but a good assumption is that if the theme implements it’s own gallery styling (sliders, slideshows, etc.) you are likely stuck with just using those for the life of the theme. And, if the theme does not utilize the Gallery shortcode to show galleries, I would think twice about using the Theme.
Why are things so messed up?
There are lot of reasons that these photography oriented Themes are so messed up. I could point to the fact that many Theme designers are web designers and not software engineers or to the fact that the incentive of premium theme designers is to lure buyers in with a good demo and not low long term ownership costs. Or maybe it’s just ignorance on the part of Theme designers as to how WordPress really works and what the trade-offs really are.
However, what I think is really going on here is that many of the proprietary workarounds found in these themes are trying to make up for the usability issues that new users face when starting out with WordPress. The workarounds do put labels front and center in the admin interface that Photographers can understand (Galleries in WordPress are not in the primary navigation, for example). Themes with crafted workarounds allow users to dive right in and begin setting things up without having to learn how to manipulate WordPress to get the results they desire. They look good and feel great right up until the point when you realize the shortcuts that were taken to make them a reality.
So What Should theme Designers Do?
Like doctors, I think theme designers should adopt the “do no harm” principle. In my opinion, one should be able to move from theme to theme without losing access to content or needing to completely re-organize Posts or Pages, or re-implement Galleries. Specifically that means theme designers should:
- Implement any feature that requires custom Post types or Taxonomies as a separate plugin that provides shortcode, widget and template functions for displaying this content within the Theme. This way the content survives a Theme change. The Testimonial plugin from the folks over at Woo Themes is a great example this.
- Stop bundling functionality that is available as a plugin. Instead implement admin notices within the WordPress admin interface that tells the user to go install the plugins from the WordPress plugin repository.
- Stop bypassing the core Gallery shortcode. If you need to modify the HTML output of the gallery then use relevant filters (such as the recently available shortcode_atts_gallery filter) to do so. If you need even more control you can filter the entire gallery output or use my PhotoPress – Gallery plugin which adds a whole bunch more filters to the core Gallery shortcode for fine grained control of the HTML markup and CSS of Galleries.
- Keep Theme code dedicated to design and layout – not proprietary functionality.
What Should the WordPress Core Team Do?
Here’s my wish list:
- Integrate my PhotoPress – Gallery plugin as part of WordPress core. I’m serious. This plugin adds a handful of well placed filters and a couple of new features to the core gallery shortcode that Theme designers could to use to accomplish these same Gallery/Portfolio features using WordPress core. It would also stop plugin authors from having to reimplement the entire Gallery shortcode when they just need to do simple things like wrap the Gallery output in a custom div tag.
- Provide an easy way for theme authors to create posts/pages when activating a theme. This would allow Themes to essentially “setup” example Posts and Pages – thus eliminating the need to liberally use custom post types to solve for admin usability.
What should Photographers considering a new theme right now do?
Read the fine print where the Theme developer describes the features. Look for the phrase “Custom Post Type”, etc. However, if you really want to be certain, ask the them developer a few simple questions:
- Does the theme itself implement or make use of any custom Post types? You want to hear a definitive “no” here or risk the scenario I described earlier.
- Does the theme utilize the core WordPress Gallery shortcode to display Galleries of images? You want t hear a “yes” here or else you risk having to re-setup or modify all Posts/Pages containing Galleries when you go to change Themes.
- What third party plugins come bundled with the theme? Fewer equals less conflicts over the long term.
While there are no right or wrong answers to these questions, they should help you gauge the level of risk that comes along with using the Theme.
Ok, end of rant. Now back to trying to find that new Theme…