[theme-reviewers] Bundling Plugins

Josh Stauffer joshstauffer at gmail.com
Mon May 2 14:42:59 UTC 2011

Just as Chip described is how I am going about it in my theme development.

Although, I am interested to find out more about the "automatic install and
activate" that Ryan is referring to. Any tutorials on this?


On Mon, May 2, 2011 at 9:15 AM, Chip Bennett <chip at chipbennett.net> wrote:

> That's a good distinction: simply bundling "plugin.zip" into the Theme is,
> IMHO, absolutely inappropriate. Simply add installation instructions that
> the Theme relies on "Plugin X', and to install the Plugin from the
> repository. Also, in all instances, any Theme dependent upon a Plugin MUST
> degrade gracefully, such that it functions acceptably without the Plugin.
> As to what Plugin code is suitable for incorporation: I think that, as long
> as the functionality is Theme-related (and, clearly, SEO functionality IS
> Theme-related, since SEO is entirely Theme-dependent), it is fair game. But,
> the Theme developer who chooses to incorporate such functionality into the
> Theme then bears the burden of fully maintaining that incorporated code. It
> is an issue for the Theme Review Team, since we then take on the burden of
> reviewing such extra functionality - but then, in the end, that's our job.
> On the other hand, just as we exclude non-Theme-related functionality as
> "Plugin territory", I think we should hold the same standard for
> incorporated Plugins. To be explicit: Theme functionality should involve the
> *presentation* of content; anything that involves the *creation* or
> *management* of content should be left to Plugins.
> Also, regarding "best practices", I will add: I think the "best practice"
> recommendation should be that Themes, if they choose, should incorporate
> *support* for a given Plugin, rather than incorporating the Plugin code
> itself. One example might be the WP-PageNavi Plugin, which can be supported
> as easily as adding:
> if ( function_exists( 'wp_paginate' ) ) {
> 	wp_paginate( 'title=' );
> } else {
> 	*// do something else instead*
> }
> Or, for Yoast Breadcrumbs:
> if ( function_exists('yoast_breadcrumb') ) {
> 	yoast_breadcrumb('<li id="breadcrumbs">','</li>');
> } else {
> 	// do something else instead
> } ?>
> This method allows for graceful degradation, and does not encumber the
> Theme developer with maintaining someone else's code.
> Chip
> On Mon, May 2, 2011 at 8:57 AM, Ryan Hellyer <ryan at pixopoint.com> wrote:
>> There are situations in which it makes sense to build a theme which relies
>> on specific plugins to function, but it is often not a good idea to
>> incorporate the entire code base into the theme since the plugin may be
>> under active development. In this situation I tend to have the plugin
>> automatically install and activate the plugin(s). I think it would be a good
>> idea if this sort of situation was allowed in the theme repository.
>> Simply bundling the plugins zip file into the theme and requiring the user
>> to copy the files over seems counter productive though and shouldn't be
>> allowed IMO since the user could just as easily get the plugin from the
>> repository instead.
>> There are some excellent themes in the repository which incorporate large
>> amounts of "plugin like" functionality so I would assume that seamlessly
>> integrated functionality would be deemed appropriate for the repository.
>> Just taking something like Yoasts SEO plugin and dumping it verbatim into
>> a theme would be plain weird and shouldn't be allowed though IMO, as it
>> would include a bunch of text unrelated to the theme and create confusion
>> for the user. However if it were integrated seamlessly and cleanly, then I
>> don't see any problems with that approach, albeit I personally would never
>> roll that much SEO functionality into a theme.
>> Ryan,
>> _______________________________________________
>> theme-reviewers mailing list
>> theme-reviewers at lists.wordpress.org
>> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
> _______________________________________________
> theme-reviewers mailing list
> theme-reviewers at lists.wordpress.org
> http://lists.wordpress.org/mailman/listinfo/theme-reviewers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wordpress.org/pipermail/theme-reviewers/attachments/20110502/e1c59394/attachment.htm>

More information about the theme-reviewers mailing list