Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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?

share|improve this question
    
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 '11 at 15:40
    
possible duplicate of Add Plugins to Wordpress Theme –  Chip Bennett Sep 2 '11 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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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