I thought I’d introduce TGM Plugin Activation. A plugin installation method not necessarily aimed at those simply looking to install plugins on their own site. TGM Plugin Activation is a PHP class designed to be distributed with a theme or plugin. Upon theme/plugin activation, the bundled class displays a notice above administrative screens prompting the installation of required/recommended plugins.
There has been some concern within the WordPress community. An escalating “themes arms race” between theme authors to include every possible feature within their theme. Justin Tadlock, WordPress developer and published author recently spoke out and has begun an experiment on ThemeForest, selling a theme and getting involved with the ThemeForest developer community with the aim of promoting WordPress theme coding standards.
WordPress benefits from many well written and supported, highly focused plugins which do their job well. A theme shouldn’t attempt or even have to implement the functionality of numerous plugins. The most serious downside to an all-in-one approach is that the website owner is tied to their theme, if they switch, their site is left without functionality and in the case of bundled shortcodes, be scattered with broken shortcode tags.
I’ve seen many themes tied with SEO features, site owners spend time writing optimised titles and descriptions which are lost when switching themes. Due to the various implementations it can be difficult to migrate the information to a specialised plugin.
TGM Plugin Activation goes some way to alleviate these problems by allowing theme authors to recommend plugins which provide additional functionality such as post types and shortcodes. Take a look at Grid Columns, a plugin released by Justin Tadlock which provides an excellent shortcode implementation allowing site owners to use columns within their posts. Commonly included within themes. However, the columns remain intact after switching themes.