Blog Archives

Learn The Themeforest Review Process to Get Your WordPress Theme Approved

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.


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.


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!


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

         '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');


// use jQuery correctly with strict
    "use strict";
    // your code


Make sure your CSS file has a table of contents.

 @Author: LoveThemes

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

 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
 25. Sidebar
 27. Widgets
 28. Shortcodes & Classes

Checklist Overview & Tips

      1. Is your design unique and up to standard?
      2. Does your code validate?
      3. Is your code well documented?
      4. Are your functions prefixed?
      5. Have you sanitized data?
      6. Is your theme translatable?
      7. Are you using WordPress functions correctly?
      8. Are you enqueuing scripts & styles?
      9. Are you using jQuery in strict mode?
      10. Does your CSS have a table of contents?
      11. Have you tested your theme with unit test data?
      12. Have you tested all widget areas?
      13. Have you enabled debug in wp_config.php and tested with theme check plugin?
      14. Have you checked loadtime and improved by combining & minifying your CSS / JS?
      15. Have you checked loadtime and improved by optimizing images?

Links & Resources


Following this list won’t guarantee first time approval, but it should reduce the amount of rejections you receive. Hopefully you found this post useful and if we’ve missed anything you’d like to see included leave us a message in the comments.



Top Time Tracking Applications For Web Designers

Time tracking

Time is one of those commodities that we tend to take for granted. When you’re a kid, it feels like time is so slow and then one day you’re a grown up and time flies past you faster than you can keep up with.

When you stop to think that the seconds and minutes that tick by every day is time that you can never get back and that there are bills to pay and mouths to feed (even if it is just your own), time suddenly becomes precious. Especially is that the case for the entrepreneurial Web Designer.

When you’re working for yourself or even if you’re freelancing with a team on a project, every minute you spend on said project is less money in your pocket one way or another. Even if you’re not being paid by an hourly rate, tracking and managing your time is still important if you are ever going to get anywhere with your business.

Why Tracking Your Time Is Important

There are a few reasons why you should track your time. Even if you’re not billing a client by the hour, tracking where you’re spending your time on a project can be eye opening.

Perhaps what you thought was only taking you a couple of hours is actually taking you more time than you would like to see. When you start to see discrepancies in your workflow, you can then start to tweak what is working and what isn’t in order to increase your profit.

Another reason for keeping track of your time is because some clients will request it when they are billing you by the hour. Many people like to know just how your time is being spent on something that they are paying you for. When you are able to turn over an orderly timesheet, they are usually more than happy to keep coming back to you.

Keeping track of time can also keep you more productive. Not only does it help you stay focused, but it is also a great motivator when you start to see how much more efficient your time is spent when you’re mentally on track.

Below is a list of some of the best time tracking apps that you can use when working on your own and even when you need to collaborate to create something amazing.

Best Time Tracking Applications for Web Designers


One of the best tools I’ve personally come across and use from time to time is Toggl. Not only does it have some great features, but it is also free to use. The software offers a one-click time tracking option so that it’s simple to keep track of when you start and stop a project and helps you keep an accurate time sheet. However, the application is more intuitive that that.

Toggl has the following features:

  • An easy to understand and intuitive dashboard
  • Create an unlimited amount of project and clients
  • Color-code your projects to help with your own personal organization method
  • Add sub-projects
  • Set billable rates
  • Export your timesheet to Excel, CVS and PDF files

Toggl also has iPhone and Android apps, as well as desktop applications for Windows and Mac and has the feature of tracking your time when you’re offline so that you can literally keep tabs of your time no matter where you are. There is also a handy Google Chrome tab that you can use to track and sync your time when you’re working on something in your browser.

To add to that, it’s also expandable meaning that if you’re working with a team you can still use Toggl in a team setting and integrate into other management helpers like Trello or Asana.

For something that is free, it is seriously impressive and would be the first place I’d recommend when looking for a solid time tracking software.


TimeCamp is another promising application that works great for both the solo designer and large teams collaborating on a project. The software is full of features and integrations that you may not even know you needed but would be happy to find out was there.

TimeCamp has many similarities to what Toggl offers including apps for iOS and Android, desktops applications, Google Chrome extensions and the ability to work offline. However, as a premium service, TimeCamp offers quite a bit more than just that:

  • TimeCamp integrates with other popular tools like Trello, Asana, Wunderlist, Zendesk and Insightly
  • Create roles and permissions for people in your team
  • Supports multi-currency
  • Set Goals and Categories
  • Measure productivity
  • Custom tax integration
  • Billing rates and invoice creation
  • and more

The TimeCamp’s dashboard is clean and rather easy to use when you’re not trying to dive into deep. Learning the ins and outs of everything the application has to offer will take a bit of time to get the hang of and setup if you’re working with a larger team.

At that price and with so many features packed into a single app, TimeCamp may be better suited for you if you’re going to be expanding your projects into team collaborations.


If you’re looking for something with fewer bells and whistles, then CloudTimr may be more on track with what you’re looking for. The free cloud-based time tracking application can be accessed and easily used on your desktop or mobile device so that you can track your daily activated no matter where you are.

The dashboard is very simple and creating your tasks is also easy. You can create Groups using a hashtag, add things in the built in to-do list, and receive notifications. As I mentioned before, CloudTimr is free to use and is a simple, straightforward way to keep tabs on your time and activity.


Screen Shot 2015 03 11 at 11.59.44 AM e1426100422306

This is another nice and intuitive time tracker that works well if you’re tracking time for yourself or if you’re working with a team. The dashboard has a zen meets tech feel to it and has some nice features:

  • Easy Accessibility | Use in a browser tab, download the desktop application and use it there, or track your time while you’re on the go with the mobile app.
  • Customized and Flexible Report Analysis | You can create reports based around the custom structure that you built and then save those reports into templates for you to quickly and easily access.
  • Local and Server Backups | This is another great feature. Not only does Clockodo backup to its own servers, but you can also create a local backup of what you’re working on so that you don’t lose everything in glitch (you know they happen to everyone sooner or later.)

Pricing for Clockodo is set at $8 per month to unlock everything the application has to offer. If you’re going to be adding users/team members, then you’ll be looking to tack on an additional $5 per extra member you have on Clockodo. To use this just for yourself would make sense and would be rather affordable, but if you’re going to be working with more than a few people on a design project, it would make more sense to use another software that offered a bit more for less.


Personally, I really like the sleek design and feel of the GetChime tracking application. But all design aspects aside, this free app has some great features that make it easy to work with.

  • Easy to use interface
  • Track billable and unbillable hours
  • Easily start and pause timer
  • Built in messaging system so that you can stay in touch with teammates
  • Reports and analytics to help you gauge which milestones are costing you the most money, to see how much you’ve earned and allow you to track the ongoing progress of a project
  • Give permissions to who can view and edit time entires

GetChime also has a few other products in its family to help boost overall productivity and which also happen to be free. This app looks like it would be great to work with if you’re going solo and easy to work with when collaborating.


To wrap up our list of the best time tracking applications for web designers is Tick. Tick offers many of the same features of the other apps, but with one really cool add-on called Time Budgeting.

This feature lets you set a time budget — the amount of time you allow yourself to work on a given task and/or project. The time tracker dashboard makes it easy to create projects and tasks and with the Chrome Extension, mobile app and desktop app you can track your time anytime, any place.

Tick also has the ability to generate reports that can be grouped and sorted together by client and then export them to programs like FreshBooks, QuickBooks, and Excel.

Price for Tick starts at $19 for 10 open projects and goes up from there depending on the amount of projects you have going on at once.

Wrapping It Up

Time tracking is a great way to help your be more productive and tighten up in areas where you’re spending too much time. If you’re working with a team on a project, then using one of these dashboard can help consolidate a lot of your work for you.

Weather you bill by the hour or the project, tracking your time could just be one of the best things you started doing for your business. Do you guys have any experience with tracking your time? Are there are applications that you use and want to share with the rest of the community? Let us know in your comments below.