366 posts WordPress Guy
  • Envato Staff
  • Australia
  • Has been a member for 5-6 years
  • Contributed a Tutorial to a Tuts+ Site
  • Exclusive Author
  • Sold between 100 and 1 000 dollars
  • Bought between 10 and 49 items
  • Referred between 1 and 9 users
  • Reviewer
+1 more
Japh Staff says

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.

Today, we’re proud to announce to the community that we’re unveiling our new WordPress Theme Submission Requirements.

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!

As posted on Envato Notes.

38 posts
  • Attended a Community Meetup
  • Grew a moustache for the Envato Movember competition
  • Envato Staff
  • Support Staff
  • Bought between 1 and 9 items
  • Repeatedly Helped protect Envato Marketplaces against copyright violations
  • Exclusive Author
  • Microlancer Beta Tester
  • Has been a member for 1-2 years
+1 more
HeckSarah Staff says

YAY! :bigsmile:

115 posts WordPress Wizard
  • Microlancer Beta Tester
  • Elite Author
  • Sold between 100 000 and 250 000 dollars
  • Most Wanted Bounty Winner
  • Bought between 10 and 49 items
  • Exclusive Author
  • Has been a member for 3-4 years
XiaoThemes says

Great, standards are always great.

Questions:

  • 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?

All the best!

29 posts Aim High
  • Elite Author
  • Microlancer Beta Tester
  • Australia
  • Sold between 50 000 and 100 000 dollars
  • Most Wanted Bounty Winner
  • Exclusive Author
  • Referred between 50 and 99 users
+2 more
Studio164a says

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.

Cheers, Eric

279 posts
  • Sold between 50 000 and 100 000 dollars
  • Exclusive Author
  • Has been a member for 1-2 years
  • Bought between 10 and 49 items
  • Referred between 10 and 49 users
PrimaThemes says

Japh,

Could you please re-check again about admissible and inadmissible shortcodes?

I see buttons, dropcaps, and lists are admissible shortcodes, but columns, maps, and contact forms are inadmissible shortcodes….

Switched? Are you sure?

29 posts Aim High
  • Elite Author
  • Microlancer Beta Tester
  • Australia
  • Sold between 50 000 and 100 000 dollars
  • Most Wanted Bounty Winner
  • Exclusive Author
  • Referred between 50 and 99 users
+2 more
Studio164a says

Japh,

Could you please re-check again about admissible and inadmissible shortcodes?

I see buttons, dropcaps, and lists are admissible shortcodes, but columns, maps, and contact forms are inadmissible shortcodes….

Switched? Are you sure?

Pretty happy to see maps and contact forms under the inadmissible shortcodes! There are plenty of plugins to choose from if you want to provide that functionality to users.

I find it odd that pricing tables are included in the admissible list though…

Cheers, Eric

366 posts WordPress Guy
  • Envato Staff
  • Australia
  • Has been a member for 5-6 years
  • Contributed a Tutorial to a Tuts+ Site
  • Exclusive Author
  • Sold between 100 and 1 000 dollars
  • Bought between 10 and 49 items
  • Referred between 1 and 9 users
  • Reviewer
+1 more
Japh Staff says

Great, standards are always great.

Thanks! :D


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

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


* 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.


* 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?

Inline styles are the ‘style=””’ attribute. Plugins can enqueue stylesheets, etc.


* 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.

29 posts Aim High
  • Elite Author
  • Microlancer Beta Tester
  • Australia
  • Sold between 50 000 and 100 000 dollars
  • Most Wanted Bounty Winner
  • Exclusive Author
  • Referred between 50 and 99 users
+2 more
Studio164a says

Hi Japh,

Quick one regarding the Theme Check feedback. include_once is permissible, but require_once, require and include aren’t allowed. Is that correct?

Eric

279 posts
  • Sold between 50 000 and 100 000 dollars
  • Exclusive Author
  • Has been a member for 1-2 years
  • Bought between 10 and 49 items
  • Referred between 10 and 49 users
PrimaThemes says

Pretty happy to see maps and contact forms under the inadmissible shortcodes! There are plenty of plugins to choose from if you want to provide that functionality to users.

I find it odd that pricing tables are included in the admissible list though…

Cheers, Eric

Buttons, dropcaps, lists shortcodes should be inadmissible shortcodes to follow this suggestion http://justintadlock.com/archives/2011/05/02/dealing-with-shortcode-madness from JustinTadlock.

Maps and contact forms shortcode can be ported to plugins, but then the plugins will provide these as shortcodes also…

366 posts WordPress Guy
  • Envato Staff
  • Australia
  • Has been a member for 5-6 years
  • Contributed a Tutorial to a Tuts+ Site
  • Exclusive Author
  • Sold between 100 and 1 000 dollars
  • Bought between 10 and 49 items
  • Referred between 1 and 9 users
  • Reviewer
+1 more
Japh Staff says

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.

Yes, absolutely. This guidelines is referring to this situation:

// Not very readable
if ( empty( $variable ) )
    return;

// Much better!
if ( empty( $variable ) ) {
    return;
}

Could you please re-check again about admissible and inadmissible shortcodes?

I see buttons, dropcaps, and lists are admissible shortcodes, but columns, maps, and contact forms are inadmissible shortcodes….

Switched? Are you sure?

Sorry, I’m not exactly sure what you’re asking?


Quick one regarding the Theme Check feedback. include_once is permissible, but require_once, require and include aren’t allowed. Is that correct?

I imagine they would be, for the same reasons. It will be on a case-by-case basis at the reviewer’s discretion.

by
by
by
by
by
by