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?
You can use some of the following functions to build your own “theme plugins” registration:
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.