[theme-reviewers] Common Things Overlooked in Theme Reviews

Chip Bennett chip at chipbennett.net
Wed Sep 4 20:41:34 UTC 2013

Good afternoon, Theme Reviewers!

As I perform the final "QA" audit of approved Themes before pushing them
Live, I've noticed several things that come up frequently:

1. <title> tag: the content of the <title> tag must be *only* the call to
wp_title() with its parameters. All additional content must be added via
`wp_title` filter

2. Document head stylesheet links: all stylesheets, scripts, and
stylesheet/script links in the document head and footer must be enqueued,
rather than hard-coded. Common culprits are GoogleFont stylesheet links

3. wp_nav_menu(): Themes must use the theme_location parameter, and NOT the
menu parameter, in calls to wp_nav_menu(). The theme_location parameter
corresponds to the array key used in the
register_nav_menu()/register_nav_menus() call. The menu parameter
corresponds to the slug for a *user-defined* custom nav menu.

4. Namespacing arguments arrays: Please place arguments arrays directly
inside of the function calls to which they apply, or properly namespace the
variable used to hold the array:

$args = array( /* ... */ )
wp_nav_menu( $args );

Instead do one of the following:

wp_nav_menu( array( /* ... */ );


$themeslug_primary_menu_args = array( /* ... */ )
wp_nav_menu( $themeslug_primary_menu_args ;

5. Confusion between the *site front page* and the *blog posts index*:
is_front_page() vs is_home(), front-page.php vs home.php (and confusing
custom page template names), etc. Themes must use front-page.php for the
*site front page*, and that must account for both the blog posts index and
a static page as front page.

6. Child Theme Friendliness: be cognizant of the differences between
get_template_directory() and get_stylesheet_directory(), and the
appropriate uses for each. Any asset that is NOT intended to be overridden
in a Child Theme (e.g. Theme options) *must* use get_template_directory().

Thanks, everyone, for all your time and contribution to Theme review!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wordpress.org/pipermail/theme-reviewers/attachments/20130904/c036b086/attachment.html>

More information about the theme-reviewers mailing list