The Ugly Side of WordPress Themes for Photographers

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:

  1. 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:

  1. 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.
  2. 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.
  3. 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.
  4. Keep Theme code dedicated to design and layout – not proprietary functionality.

What Should the WordPress Core Team Do?

Here’s my wish list:

  1. 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.
  2. 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:

  1. 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.
  2. 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.
  3. 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…


  1. Alexander S. Kunz January 10, 2014 at 10:10 pm

    I agree with everything you say Peter. With a little “but” perhaps. 🙂 Because I think that one core problem is that people start using WordPress, and it’s just not easy to learn and understand it. The documentation efforts at (it starts with “codex” – that word alone scares me;-) were good for me only after I had gained a basic understanding of WP. Your book is a better documentation to WordPress for photographers who are just beginning to use the system.

    So, bravo to you, for continuing to educate users to understand WP and make the right choices.

  2. Bill January 14, 2014 at 4:13 pm

    Peter, thanks for the informative post, which surely applies generally to the theme market. Do you have any guidelines/warnings for theme developers who use framework tools like Dynamik+Genesis? It seems like these tools can be equally used/abused.

  3. zanematthew January 14, 2014 at 5:33 pm

    Well put, I think we can also agree on images/galleries in core can be confusing…”there’s a gallery post format, that I can add an image to? and a image post format that I can add a gallery to? or I can just create a post and add a gallery or an image to it? wait what? I can add an image and have a ‘mini’ editor (as seen on the single image page in the admin)….way too many options here”.

    The “do no harm” approach is gorgeous.

  4. lindsay January 14, 2014 at 6:12 pm


    I am a web developer / designer but I don’t make themes for distrubution, I make custom themes for clients. That said, my biggest (or is it most important? most needy? ha) is my husband. He is a photographer and together I help him run his photography business. I had looked at some photo themes and the proprietary stuff is just infuriating and 99% of the time there is absolutely no need for it.

    This also exists in other industries. I had a friend who needed a website quick. I wasn’t charging her and she didn’t need anything complex. Just a normal WP site with portfolio for her artwork. I suggested she pick a nice themeforest theme and I will set it up. How hard could it be?! AS A DEVELOPER I AS CONFUSED AS HELL!!! I couldnt imagine being an average web user!

    What ends up happening in my case is I completely and entirely rebuild and restructure the ENTIRE theme to where the only thing left from the original is the css and some html markup. Its crazy how much is done outside of WP that could be kept beautifully in sync with the core and also flexible so the user actually CAN switch themes.

    Thank you for this. Glad it’s not just me.

  5. Adam W. Warner January 14, 2014 at 9:27 pm

    Hi Peter,

    I’ve just come here from the mention about this post on WP Tavern. Our team at Foo agree with much of what you’ve said above, and it’s well past time to make those less-informed photogs aware of the pitfalls of gallery (and other image display features) functionality built into themes. It’s simply not portable.

    I’m also pleased to learn of your ebook and of your PhotoPress gallery plugin as we’re working down a similar path as an extension of our FooBox plugin. A very large segment of our customer base are photographers and we’ve worked hard to ensure that we keep our features as compatible as possible with the built-in WP Gallery as well as other popular gallery plugins.

    One of our Achilles heels (in regard to our own plugin) is interacting with themes that have lightbox and other custom galleries built-in. We’ll be following along with your blog from now on and I’m heading off to find your contact info now to send you a personal note.

    Thanks for bringing this to light and getting a mention on WP Tavern should help spread the word and help others along their WP + Photography path:)

    1. Peter January 14, 2014 at 9:32 pm

      Adam – I’m peter at the domain of this website.

  6. Rizki Akmanda March 4, 2014 at 9:08 am

    Hello Peter,

    I stumbleupon to your site after looking your gallery plugin. I am themes author too and recently just open my shop.
    I am in research right now to find gallery plugin that I can include to new theme (about photography of course).

    I’m totally agree with Your post. I try my best to separate *not styling/layout functionality* from my themes. But, i just realize it recently. Before I realize about it, I just keep thinking that create “everything” in themes is Cool. Beside, I don’t know before that we can use (legally) adding plugin as an add-on of the themes.

    So What I think is all about the education. I think most of them still thinking like old Me and when they realize it, they just too lazy to edit or create plugin of their function ( just like Me ).

  7. Gerhard Hoogterp June 20, 2014 at 11:38 am

    Good story and as a newby wordpress user who wanted a use it for my photography I recognise a lot. Finding a good theme was a serious amount of work. I’ve even tried photocrati and while it has many good points it can’t do the “one page, one photo” for the attachments as I wanted (for comments, etc). So finally I’ve settled for a more generic theme and fixed it by adding an image.php template and some small fixes. Luckily I’m new to wordpress but not to php or cmsses..;)

    The Enhanced Media Library and the PhotoPress – Gallery solved my gallery problems minus 1.. Where posts have all kinds of batch options media has only batch delete.. With already some 500 photos manually adding taxonomy one photo at a time is a drag and the plugins I’ve found which support batch updates also use their own tables instead of the core taxonomy tables.

    So for now I’m still on page based galleries until I can sort out a way to do batch work on my media-categories.. Guess nothing is even all easy or all perfect. That said, for now I’m happy with wordpress as at least I could solve most of my issues and wishes..

    Just my 2 ct.

  8. Dave June 29, 2015 at 5:15 am

    The same thing happened to me with some premium photography plugins and it annoyed me enough to start writing about the issue. I called them proprietary plugins. Same business tho with custom post types.
    I do wish I had come across this post earlier.

    I’m not completely sure if the designers of these plugins are aware of the fact that you would need to reinput tons of info, and if you weren’t an expert might have to reload tons of files if you switched themes or plugins… Or if that is the cynical idea.