First off, I'm all about separating design and function. In fact, I want to remove some of the functionality from a webcomics management theme I'm developing into a plugin. I expect a person's webcomic to outlast their love of a theme. This way, authors can switch themes but still retain all their uploaded comics--so long as they keep the plugin that registers those custom content types active.

However, neither the theme nor the plugin will give users all the functionality they need. Sure, the plugin registers your comics and your thumbnails, but only through the appropriate theme are these things displayed properly in an archive, etc.

Is there a way to bundle them so when a person activates the theme, they are prompted to install the plugin from the repository as well or it is auto-installed?

I've been looking for a solution, but so far I've only found janky zip-file bundling techniques. I'd like something a little slicker than that, that fetches the most current plugin from the repo.

Any ideas?

  • There has been some talk about the notion of theme-plugin dependencies, so this may be in core in the future. However it's not there yet.
    – Otto
    Aug 30, 2011 at 15:40
  • possible duplicate of Add Plugins to Wordpress Theme Sep 2, 2011 at 12:40

1 Answer 1


You can use some of the following functions to build your own "theme plugins" registration:

is_plugin_active( $plugin );
is_plugin_active_for_network( $plugin );
is_plugin_inactive( $plugin );

get_plugins( $plugin_folder ); // register your own theme-plugins folder?
get_plugin_data( $plugin_file );

I use "theme plugins" myself. But not in the manner of: I have dozens of "real" plugins and then require some user to install them, but more in the fashion of: I question the existance of sub folders and register them with current_theme_supports( 'theme-plugin-xy' ) and then include their files.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.