JustPaste.it
- Read the submission requirements before submitting your theme https://help.market.envato.com/hc/en-us/articles/202822450-WordPress-Theme-Submission-Requirements 
 
- HTML validation errors 
 
- Globals should always be within a function or a class and should be used restrictively & only if theme really needs to. It's highly recommended not to use them at all just to keep things out of the global namespace, they're poor coding practice.
 
- Data Validation issues have been found in your theme. All dynamic data must be correctly escaped for the context where it is rendered. - All dynamic data must be escaped with esc_attr() before rendered in an html attribute. - Whenever you are rendering a url to the screen its value must be passed through esc_u rl() first. - If dynamic data is rendered inside an attribute that triggers a JavaScript event, it must be escaped with esc_js().
 
- Use wp_kses(__(’String’ , ’text-domain') , wp_kses_allowed_html(‘data’)); to escape any HTML elements .
 
- Title tag support now required.
 
- Please make sure that your template doesn’t raise any PHP errors, notices or warnings. Enabling wp_debug can help you with this.
 
- Remove all unrelated Redux dev and non-dev items 
 
- Directory path should be get_template_directory() and not dirname( FILE ).
 
- Please make sure you are using the latest version of the plugins and frameworks .
 
- Site icon is provided by WP 4.3, you can use function_exist('wp_site_icon') for backward compatibility.
 
- Please do not hard code the Meta 
 
-  All theme text strings are to be translatable and properly escaped.
 
- Theme text domain must be the same theme name , e.g My Theme should be “my-theme”.
 
-  Please consider to exclude this feature “Tracking / Analysis Code " from a theme and here is why - http://wptavern.com/why-you-should-never-add-analytics-code-to-your-wordpress-theme
 
- Please make sure your theme doesn't raise any errors or warnings with theme-check.
 
- Make sure your theme doesn’t raise any “Failed to load resources” errors in the browser console .
 
- Please use a unique prefix for all function names, custom images sizes, classes, CONSTANTS, hooks, public/global variables, and database entries to avoid conflict issues with plugins and other themes. For example, themename_ OR frameworkname_
 
 
 - Please make sure you properly prepare your data for $wpdb. Please also read http://codex.wordpress.org/Data_Validation#Database
 
- wp_reset_query - if you’re not using query_posts(), then you really shouldn’t be messing with the main $wp_query variable, as wp_reset_query() does.

query_posts() will change your main query and is not recommended. Only use if absolutely necessary

http://codex.wordpress.org/Function_Reference/wp_reset_query

 
Try wp_reset_postdata() instead.
 
- Prefix everything and use unique (theme-name-based) consistent slugs. Additional prefix is acceptable for when the author is using a framework.
 
 
- Theme needs to properly load files, but also to be consistent as well. 
 
There are several functions available for getting the path: 
 
- get_template_directory - Filter the current theme directory path.
 
- get_template_directory_uri - Filter the current theme directory URI. 
 
- get_stylesheet_directory - Filter the stylesheet directory path for current theme. 
 
- get_stylesheet_directory_uri - Filter the stylesheet directory URI. 
 
 
 
- Theme doesn't need to use wp_register_* when adding script and styles, wp_enqueue_* will be enough.
 
- Do not alter “widget_text” filter , e.g enabling shortcake usage in text widget .
 
- Translate all strings within PHP variable and escape where needed. JS and TGMPA included (when/if used). You need to use a text domain to denote all text belonging to that theme. The text domain is a unique identifier, which makes sure WordPress can distinguish between all loaded translations. This increases portability and plays better with already existing WordPress tools. Any strings within a PHP variable requires to be translated.
 
- Do not remove any built-in features , e.g wp_oembed_add_discovery_links , empty p tags in post content .
 
- Don’t hardcode search forms, use get_search_form to add them instead. If you’re extending go with the filters.
 
- Enqueue the Google fonts the right way https://gist.github.com/kailoon/e2dc2a04a8bd5034682c
 
 
- It is recommended to include redux as a plugin.
 
- There is no need to use the function wp_enqueue_script just to insert jQuery, since jQuery can be called for those scripts which need it passing the argument array(‘jquery’).
 
- Test the blog/posts layout/functionality - Import the Theme Unit Test [http://codex.wordpress.org/Theme_Unit_Test] file and make sure that:

- Posts display correctly, with no apparent visual problems or errors. 
- Posts display in correct order. 
- Page navigation displays and works correctly. 
- As "sticky posts" are a core feature, the theme should style and display them appropriately. 
- Lack of body text should not adversely impact the layout. 
- Theme must incorporate both the "Tag" and the "Category" taxonomies in some manner. 
- Floats are cleared properly for floated element (thumbnail image) at the end of the post content.

 
 
- Make sure page comments and page title are enabled .
 
- Don't force plugin activation when using TGM
 
- Pagination is generating pages that should not exist.
 
- Failed to open the documentation file , Try to use PDF instead of HTML .
 
-  Custom widget areas must use the safety condition “is_active_sidebar” to ensure no naming conflict with other plugins.
 
-  Page Break / <!--nextpage--> doesn't work in posts. ( Page Pagination )
 
- Make sure all the WP default widgets display properly in all widgetized areas. You can check with monster widgets plugin. e.g.
 
-  Please update TGM Plugin Activation library to the latest version.
 
- Found the URL of a CDN in your theme. You should not load styles or scripts resources from a CDN, please bundle them with the theme, including jQuery.
 
- Comments issue ,  comments are opened, but there are no comment forms.
 
- Please provide a slightly different design for sticky post.