For a while now we have been working towards updating our theme standards on ThemeForest. The goal is to have a consistent, public standard so every customer has a seamless experience using our products.

We began this process by analysing the constructive feedback we had received over the past few months, and looking at industry standards to ensure we’re meeting them. We’ve been working on a few key areas including:

WordPress Core API

WordPress Features

WordPress Unit Tests

WordPress Assets

Security

PHP Quality

HTML/CSS Quality

JavaScript Quality

The next step was to get input from a group of experienced ThemeForest authors, to give input on behalf of the wider community. Their feedback has helped us revise our theme requirements to best suit both the market and our authors. We really appreciate their insight, and the time they took to help us out with this project.

As this is a fairly major update, we don’t want to throw anyone in the deep end. For the next three eight weeks we’ll be recommending, but not enforcing, that new and existing themes meet the standards outlined above. After that, these will become the standards for reviewing all new themes. We will eventually be asking that existing themes also be updated to meet them, with a separate grace period to be advised at the time. Those changes should be small and gradual, and we’ll work with affected authors to assist them through the process.

Thanks to everyone for your patience while we make our theme standards, and the marketplaces, better and better!

Inadmissible shortcodes, all the listed ones can be added using a plugin, right?

All HTML needs to be validated via the W3C validator. – will this be MANDATORY to whole theme? Sometimes at demo, you need use a style switcher, that usually will create warnings at validator, can you be more specific about validation, please?

No inline styles are allowed any where – this means we can’t use style attribute or <style type=”text/css”></style> in our code, even when necessary? If we use a plugin to provide shortcodes, the plugin can add these inline styles, right?

TGM Plugin Activation requires that the plugin stay inside theme folder? If we send the plugins (to shortcodes, portfolio and other things) in a separated folder and explain how to install the plugins that user want only – will we be rejected? Some plugins have 2MB or more, including inside theme folder would increase a lot theme package size, can you please clarify it?

Great to have these guidelines! It’s been frustrating in the past when guidelines have apparently changed, so it’s great to have it printed here in black and white.

Quick query about #6 under PHP. Can we use the more verbose, but clearer, endwhile, endif, endforeach, etc in template files? I use curly braces in all the non-template files, but avoid those in template files as I think the alternative is much more obvious to someone who doesn’t know PHP.

XiaoThemes said
* Inadmissible shortcodes, all the listed ones can be added using a plugin, right?

Yes, shortcodes are best living in plugins, not themes.

XiaoThemes said
* All HTML needs to be validated via the W3C validator. – will this be MANDATORY to whole theme? Sometimes at demo, you need use a style switcher, that usually will create warnings at validator, can you be more specific about validation, please?

My understanding is that this will be the theme itself. Will get clarification for you though.

XiaoThemes said
* No inline styles are allowed any where – this means we can’t use style attribute or <style type=”text/css”></style> in our code, even when necessary? If we use a plugin to provide shortcodes, the plugin can add these inline styles, right?

XiaoThemes said
* TGM Plugin Activation requires that the plugin stay inside theme folder? If we send the plugins (to shortcodes, portfolio and other things) in a separated folder and explain how to install the plugins that user want only – will we be rejected? Some plugins have 2MB or more, including inside theme folder would increase a lot theme package size, can you please clarify it?

That sounds fine to me, but I’ll get confirmation for you from the review team.

Studio164a said
Quick query about #6 under PHP. Can we use the more verbose, but clearer, endwhile, endif, endforeach, etc in template files? I use curly braces in all the non-template files, but avoid those in template files as I think the alternative is much more obvious to someone who doesn’t know PHP.