[theme-reviewers] Note to theme reviewers about settings in themes

Darren Slatten darrenslatten at gmail.com
Mon Jun 13 02:22:42 UTC 2011


I'm just throwing this out there as an idea...

The best practice could simply be: Themes should not leave a footprint in
the DB after they've been deactivated.

In order to provide a mechanism for persisting data between
activations/upgrades, theme developers could incorporate an import/export
function that serializes/saves the data to a flat file. This would also
provide developers with a convenient way to duplicate their theme's
preferred settings across multiple sites, because the settings would be
(e.g.) saved in the theme folder.

Are there any inherent problems with such a solution? The only thing that
comes to mind is that it would introduce a point of failure in terms of
security.

We might even be able to use the WP import/export functionality--I haven't
looked at the code, so I don't know how difficult that would be.

--Darren



On Sun, Jun 12, 2011 at 8:34 PM, Chip Bennett <chip at chipbennett.net> wrote:

> I must say: I don't really understand this rule suggestion. I don't see the
> problem with setting default options, as opposed to adding in a bunch of
> conditional code in the Theme template files, in order to account for unset
> options.
>
> I'm not even sure I would suggest this approach as a "best practice", given
> the amount of additional code/processing that implementation would require;
> setting default options is just more efficient.
>
> We already require that Themes use an options array as the single entry in
> wp_options; so we're minimizing Theme DB clutter. It's true that Theme
> reviewers will have a lot of such DB entries; but I don't think we should be
> making universal rules based on an incredibly niche sub-set of Theme users.
>
> Chip
>
>
> On Sun, Jun 12, 2011 at 3:26 PM, Otto <otto at ottodestruct.com> wrote:
>
>> This is just a note about a rule that I think should be added to the
>> theme review process:
>>
>> - Themes should not do anything to the database merely by virtue of
>> being activated.
>>
>> By that, I mean that having a theme check for a setting, like
>> get_option or get_theme_mod and then calling set_option or
>> set_theme_mod to set it to some default is wrong.
>>
>> Both get_option and get_theme_mod accept a second parameter of a
>> default setting. If I call get_option('whatever',123) and there is no
>> whatever option, then that will return 123.
>>
>> Use the defaults properly. Don't set them just because they're not there.
>>
>> -Otto
>> _______________________________________________
>> 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/20110612/2b439a1a/attachment.htm>


More information about the theme-reviewers mailing list