Apply Layout to the Our Team plugin

A little while ago I announced the launch of a plugin that allows you to easily display your team members on your WordPress site.

The plugin has been generally well received and we’ve worked integrations into several of our themes already.

However, by far the biggest query so far has been:

  1. Why did you not include some basic CSS for layout?
  2. Can you give me the CSS please?

It’s quite likely you will be landing here looking for 2 with little care for 1. So let’s get that out the way right now:

This snippet will arrange your team members into fluid columns. This is a basic catch-all solution that you can add to your child theme / custom css plugin. So have at it.

Why did you not include some basic CSS for layout?

Still here? Good! A big part of what we’re doing at WooThemes in 2014 will be based around the belief that a clear definition needs to exist between themes and plugins. This has always been the intention ever since plugins became available way back when. Themes are for style, layout and general presentation. Plugins are for functionality and in this case content separation. Somewhere along the road the lines blurred and before you knew it we started to see themes shipping with 15 sliders, 48 post types, 500 page layouts and 8 billion shortcodes bundled in.

I digress. We did not include any CSS in Our Team because it is not the purpose of the plugin to apply style. The plugin alone allows you to add, manage and display your team members. In any theme. If you want to customise the appearance you simply do so in your child theme (or custom CSS plugin).

It’s easy to say that the above snippet could have been included in the plugin, but there are arguments against even this simple piece of CSS being included. Say, for example that you’re using a theme with a strict grid system. It would be a shame if your team page didn’t match up. So now you find yourself not only having to rewrite the CSS anyway, you also have to dequeue the stock CSS. This is a pain and un-necessary.

It’s far better for us to keep that split (design vs functionality) clearly defined and provide people with the design snippets as and when they need them.

Generally if a theme is well built with styles to account for all common (and even uncommon) html elements, and the plugin written in semantic markup this should rarely be an issue anyway. Applying layout via CSS is definitely not a big challenge in a well written theme.