[theme-reviewers] Common Things Overlooked in Theme Reviews

Philip M. Hofer (Frumph) philip at frumph.net
Wed Sep 4 22:47:35 UTC 2013


“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.”

_________________________________________________

I believe you’re thinking index.php as a requirement 

front-page.php in hierarchy is an override to the index.php, i.e. takes precedence if used
http://codex.wordpress.org/Template_Hierarchy
ref: wp-includes/template-loader.php, wp-includes/template.php  get_front_page_template()  get_home_template()
if the $wp_query->has set
is_front_page() calls front-page.php 
is_home() calls home.php and index.php
index.php’s loop needs to handle them both for display, if has posts –> loop display, front-page.php is an override to both
Looks for front-page.php –> then
Looks for home.php, if not find looks for index.php  if neither the front-page.php nor home.php there MUST be /required/ an index.php
hence the index.php should be the requirement since if all 3 don’t exist, it must minimally have at least index.php
From: Zulfikar Nore 
Sent: Wednesday, September 04, 2013 3:15 PM
To: Theme Reviewers 
Subject: Re: [theme-reviewers] Common Things Overlooked in Theme Reviews

This is exactly what I just set out to research as I've made some of those mistakes in my reviews. 

Thanks for the clarification @Chip and @Emil :)

Zul


--------------------------------------------------------------------------------
Date: Wed, 4 Sep 2013 16:21:18 -0500
From: emil at uzelac.me
To: theme-reviewers at lists.wordpress.org
Subject: Re: [theme-reviewers] Common Things Overlooked in Theme Reviews


Hi TR's, 

If I may add few things:

Theme Names: 
  a.. No "Mobile, Bootstrap Portfolio" types please.

  b.. Child Themes need unique names, we cannot use "Twenty Thirteen Child".
For some reason we no longer have the guidelines for Child Themes and we need them.
This is something we need to look into soon.

Before we did not allow Child Themes that are pretty much the same as the Parent Theme
meaning that author can't just change the background, colors in general, fonts or simply
add post formats, additional languages and pass that as the Child Theme.

Design should be different and we don't care much for extended functionalities :)


Thanks,
Emil



On Wed, Sep 4, 2013 at 3:41 PM, Chip Bennett <chip at chipbennett.net> wrote:

  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( /* ... */ );

    or 

    $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!

  Chip

  _______________________________________________
  theme-reviewers mailing list
  theme-reviewers at lists.wordpress.org
  http://lists.wordpress.org/mailman/listinfo/theme-reviewers




_______________________________________________ theme-reviewers mailing list theme-reviewers at lists.wordpress.org http://lists.wordpress.org/mailman/listinfo/theme-reviewers


--------------------------------------------------------------------------------
_______________________________________________
theme-reviewers mailing list
theme-reviewers at lists.wordpress.org
http://lists.wordpress.org/mailman/listinfo/theme-reviewers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wordpress.org/pipermail/theme-reviewers/attachments/20130904/9e23e0cf/attachment-0001.html>


More information about the theme-reviewers mailing list