The theme uploader tool now performs a m…
The theme uploader tool now performs a much more extensive scan of uploaded themes and gives the results back in a list format to the uploader. Hopefully this will allow theme developers to more easily fix problems with their themes and reduce some of the load on the theme review team.
Example of the resulting output (truncated). Note that I intentionally used a failed theme here, to show an example of what that looks like.
And so on. This is an improvement over the previous method, which just stopped at the first error found and didn’t give a whole lot of useful output. While that old system is still in place (for now), this one is there in addition to it and will give all the results for any theme uploaded.

Denis 9:20 pm on November 9, 2010 Permalink |
Lol. Are you guys actually receiving “I created a new theme” spam?
Otto 9:24 pm on November 9, 2010 Permalink |
Not exactly, but the process for getting a theme approved was rather frustrating. The uploader checked for a number of basic conditions, but then only reported the first error. This made it hard to use because it became a process of upload, fix the problem, repeat until it goes through. And even then, the theme review requirements are somewhat more stringent. So I made this checker code to hit all the major points and provide a sort of feedback system, to allow theme authors to fix up their themes before uploading them. I wasn’t the first to do so, Pross had a fairly extensive checker system in place which I used parts of.
Rich Pedley 9:23 pm on November 9, 2010 Permalink |
Could this be turned into a plugin for theme developers?
Otto 9:25 pm on November 9, 2010 Permalink |
Yep, Pross is way ahead of you there. He’s got a plugin in the works which can be used for development environments. Basically it runs the checks on the current theme and displays the results on an admin screen.
Ben 1:53 pm on November 10, 2010 Permalink |
I was going to ask the same thing – that would be awesome.
David Cowgill 11:07 pm on November 9, 2010 Permalink |
Great idea Otto. Being a theme developer, it will be nice to have a dev plugin to test all this before rolling out a new theme. Will Pross announce the plugin here once it’s available?
Otto 2:53 am on November 10, 2010 Permalink |
If he don’t, I will.
Chip Bennett 3:11 am on November 10, 2010 Permalink |
It’s actually available for use now. The Theme Reviewers make extensive use of it. As for if/when Pross plans to release the plugin, I don’t know. But, we actively encourage all Theme developers to make use of it!
Simon prosser 1:11 pm on November 10, 2010 Permalink |
Hopefully I’ll have something uploaded today
Simon prosser 5:39 pm on November 10, 2010 Permalink
First version has been uploaded.
http://wordpress.org/extend/plugins/theme-check/
The output page is still pretty basic, but all the checks are run.
Rich Pedley 10:32 am on November 13, 2010 Permalink
excellent, thanks for that.
Ryan McCue 12:03 am on November 10, 2010 Permalink |
While this is awesome, the screenshot you’ve attached shows wp_specialchars() and attribute_escape() being used in a backwards compatibility file.
Does this mean that themes are unable to use functions like this for backwards compatibility? (e.g. I can see a case where the theme author checks if esc_html() exists, and if not, maps to to wp_specialchars() )
Alex M. 12:05 am on November 10, 2010 Permalink |
Why support ancient insecure versions of WordPress?
Chip Bennett 3:13 am on November 10, 2010 Permalink
Bingo!
Right now, we would (probably) make an exception for a Theme that provides awesome, thorough, and consistent backward-compatibility for a given WordPress version. Of course, I’ve yet to see such a Theme. Usually, it’s a one-off compatibility check.
Otto 2:52 am on November 10, 2010 Permalink |
This check system doesn’t currently prevent the upload from succeeding (although all the previous checks are still in place). I expect to make changes before making a “pass” on this a requirement. Discussion must ensue, and such.
Justin 5:07 am on November 10, 2010 Permalink |
I don’t think I’ve seen a theme that’s actually backwards compatible. Many will have a function_exists() check for things added in WP 2.3 then no compatibility check for something in 3.0.
Mile 2:16 pm on November 11, 2010 Permalink |
These auto-search type scripts are ridiculous. I have a theme in review for weeks because of them.
I understand the deprecated function search, but why on earth are you blacklisting php functions like “base64_encode/decode”, fopen, and force use of comment-reply script? At least mark them as suspicious and make the theme reviewer check them manually for improper use, because some themes might actually have a good reason to use them.
Otto 8:06 pm on November 11, 2010 Permalink |
This new tool doesn’t currently block anything from being uploaded. Feel free to discuss your concerns on the theme-reviewers mailing list: http://lists.wordpress.org/mailman/listinfo/theme-reviewers
Tom 2:38 pm on November 11, 2010 Permalink |
Is the new theme uploader/reviewer available to download at all? It would be very helpful for themes that aren’t going to be uploaded to wordpress.org.
Otto 8:08 pm on November 11, 2010 Permalink |
http://wordpress.org/extend/plugins/theme-check/
Also:
http://review.pross.org.uk/?page_id=670
Tomas Kapler 11:59 pm on November 22, 2010 Permalink |
Are you going to improve the same way the plugin uploader. E.g.
a) screenshot page with no screenshots
b) recommended usage of all pages
c) using of deprecated functions (php or WP)
d) using of direct sql and not wp_query
e) not commenting functions
f) not using objects
g) using non translantable strings and not allowing translations at all
h) using very often problematic things like <?= in place of <?php echo
… and many other problems if they can be easily detected
Otto 2:53 am on November 23, 2010 Permalink |
No, there’s no plans to do plugin reviews in any way.