Saturday, April 11, 2015

Learn The Themeforest Review Process to Get Your WordPress Theme Approved

Via:MyTutorialGuru.com

Recently, there has been a lot of posts on the Themeforest forums about the current theme review process, review times, hard-rejections, soft-rejections and lots of frustrated authors, so we thought we’d write a short post on the subject.


themeforest


We’ve been a part of Themeforest now for over 4 years and we’re also Elite Authors, meaning we’ve had our own fair share of rejections over the years, therefore, as you’d expect, we have a fairly good idea of the main reasons for rejection and hopefully this post can help you.


Review Times


Okay, so the first complaint we’ve started to see a lot of is the review time.


“I’ve been waiting 7 days, is something wrong, what should I do?!”


Well, firstly, you have to understand the marketplace has grown exponentially over the last few years, 4 million members, 6 million items for sale and a small review team.


You can already see where this is going, obviously the number of items being submitted is huge, therefore it takes time for you to move through the review queue, it’s just the way it is.


What should I do?


Nothing. Nothing at all. Submit your item and move on, take a break, start another theme, learn some new stuff, anything is far better than sitting at your Dashboard waiting for the review, use your time constructively instead.


Numerous Soft-Rejections


Okay, let’s move on, the next complaint is the number of rejections an author receives.


“I got a soft-rejection for X and I fixed it, resubmitted, and then got aanother soft-rejection for Y, why didn’t they say that the first time?!”


Well, think about it, imagine that the reviewer sat down and went through every single theme and wrote a list of every single issue first time around, you’d be in the review queue for far longer than the current 7 day average, and you’d be feeling even more frustrated.


Or, how about the reviewers are only human?


They missed it the first time round, this is acceptable isn’t it? After all, you missed the bug too when you submitted.


There is an upside to numerous soft-rejections though, the bugs are being caught before your item goes live.


Imagine if they didn’t, yes you’d fix them eventually, but how many sales would you lose in the meantime, how many 1 star ratings would you receive?


We also get the fact that many authors like to know roughly when their item is going to be approved for marketing purposes, and maybe that is something Envato could look at, possibly an option for an author to set their item live whenever they want after being approved, this may just help with the review process as a whole.


The Bottomline


The fact of the matter is, if your item has issues, then it’s going to have rejections, no matter what, the easiest way not to get rejections, or reduce the amount of rejections, is to make sure the item is right in the first place.


Hence the next section in the post, we’ll cover common reasons for rejection and a checklist of things you should be doing yourself before submitting your item.


Rejection Checklist


Okay, so the review method is something like this:


  • Awesome Design + Great Code = Approved.

  • Generic Design + Great Code = Soft-Rejection.

  • Awesome Design + Poor Code = Soft-Rejection.

  • Generic Design + Poor Code = Hard-Rejection.

Design


So, with that in mind, the first thing you’re going to want to check is the design, after all, if the reviewers see a really poor design they won’t even get into the code review.


Post it up on the forums and ask for a critique, but be prepared, sometimes you won’t hear what you want to hear, you may think it’s awesome, but in reality in may not be, but that’s part of being a designer, take the critique, make some tweaks and make it awesome!


Code


Okay then, you’ve posted your item for critique, everyone says it’s as awesome as you knew it was, good stuff, now to checkout the code.


Much of this section focuses primarily on WordPress themes, but you can take away some of the advice for HTML templates too.


Validation: Your first check should be validation, does your code validate? Don’t get too hung up on validation though, yes you should remove as many validation errors as possible, but some errors are just going to occur no matter what you do, EDGE errors, or nesting issues because of a dynamic section being inserted, you just need to use your own judgement as to what is acceptable and what isn’t.


Some of our own themes have 10 or so validation errors, simply because of nesting issues, or WordPress doing it’s usual trick of wrapping elements in p tags where they’re not needed, it happens, but some themes have 200+ errors, which just isn’t acceptable at all.


Functions: When creating custom functions you should hook into after_setup_theme to run your functions once the theme is initialized.



function my_theme_setup() 

// your functions

add_action
( 'after_setup_theme', 'my_theme_setup' );


 


It is also good practise to prefix all of your functions to prevent any naming conflicts with plugins.



// unprefixed
function the_excerpt_length( $length )

return 50;

add_filter
( 'excerpt_length', 'the_excerpt_length', 99 );

// prefixed
function lovethemes_the_excerpt_length( $length )

return 50;

add_filter
( 'excerpt_length', 'lovethemes_the_excerpt_length', 99 );


Sanitize Data: This is very important, not only is it a big reason for rejection, it’s good practise to make sure your theme is as secure as it can be.



// escape custom variables
esc_url
( $logo['image'] );

// escape wordpress function
esc_url
( home_url() );

// sanitize callbacks when using add_setting in theme customizer
$wp_customize
->add_setting(
'lovethemes_styling[accent_color]',

array
(
'default' => '#862437',
'type' => 'option',
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'sanitize_hex_color',
)
);


Translation: Again, it’s good practise to make any static text throughout your theme translatable, this way, even if the user doesn’t want to translate the theme, they can change the values of static text throughout simply by using .mo/.po files rather than having to search through files.



// make static strings translatable
<?php esc_html_e( "Read More...", "lovethemes" ); ?>


Default WordPress Functions:


Make sure you’re utilizing default WordPress functions correctly.



// enqueue the comment reply script in the <head>
<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

// wp_head() must be present directly before the closing </head> tag
<?php wp_head(); ?>

// wp_footer() must be present in your footer
<?php wp_footer(); ?>

// enqueue theme styles
function my_theme_styles()

// wp_enqueue_style syntax, $handle, $src, $deps, $ver, $media
wp_enqueue_style
( 'style', get_stylesheet_uri(), '', '2014', 'screen', true );

add_action
( 'wp_enqueue_scripts', 'my_theme_styles' );

// enqueue scripts
function my_theme_scripts()

// load wordpress jquery
wp_enqueue_script
( 'jquery' );

// wp_enqueue_script() syntax, $handle, $src, $deps, $version, $in_footer(boolean)
wp_enqueue_script
( 'plugins', get_template_directory_uri() . '/assets/js/plugins.js', 'jquery', '', true );
wp_enqueue_script
( 'application', get_template_directory_uri() . '/assets/js/application.js', 'jquery', '', true );

add_action
( 'wp_enqueue_scripts', 'my_theme_scripts');


jQuery



// use jQuery correctly with strict
(function($)
"use strict";
// your code
)(jQuery);


CSS


Make sure your CSS file has a table of contents.



 @Author: LoveThemes
@URL: http://lovethem.es


This file contains the styling for the actual theme, this
is the file you need to edit to change the look of the
theme
.

This files contents are outlined below.


1. Default WordPress
2. Base Styles
3. Preloader
4. Newsletter
5. Hellobar
6. Logo
7. Primary Navigation
8. Search
9. Social Module
10. Content
11. Slider Module
12. Twitter Module
13. Footer
14. Secondary Navigation
15. Contact Module
16. 404 Page
18. Posts
19. Social Share
20. Related Posts
21. Postmeta
22. Pagination
23. Postnavi
24. Comments
25. Sidebar
27. Widgets
28. Shortcodes & Classes


Checklist Overview & Tips


No comments:

Post a Comment