To speed up the final admin review process, I have the short list of the items that I found to be the most common. Surprisingly they’re just the basics, but we still need them to be properly done.
Prefixing:
Things that should be prefixed are function names, class names, global variables, action/filter hooks, script handles, style handles and image size names.
Additionally: To avoid double loading, don’t prefix third-party scripts and styles.
Loading Files:
Theme needs to properly load files, but also to be consistent as well.
get_template_directory(): Returns the absolute template directory path.
get_template_directory_uri(): Returns the template directory URI.
get_stylesheet_directory(): Returns the absolute stylesheet directory path.
get_stylesheet_directory_uri(): Returns the stylesheet directory URI.
Loading Scripts and Styles:
All scripts and styles should be added from functions file and hooked with wp_enqueue_*, don’t hardcode them or include directly, like in header.php, footer.php, etc.
Hardcoding Document Title:
Themes should not hardcode the title let WordPress handle it instead via add_theme_support( 'title-tag' );.
Resources:
- http://themereview.co/prefix-all-the-things/
- http://justintadlock.com/archives/2010/11/17/how-to-load-files-within-wordpress-themes
- https://github.com/Automattic/_s/blob/master/functions.php#L113-L127
- https://make.wordpress.org/core/2014/10/29/title-tags-in-4-1/