Recommended

Recommended items are best practices for themes but not essential. No theme will be resolve as not approved because they do not meet a recommended item.

  • Theme URI is optional. If used, it is required to link to a page with information about the Theme. If a demonstration site is being used, the content must be related to the theme itself and not test data.

  • Author URI is optional. If used it is required to link to an author’s personal website or project/development website.

  • Target to make your theme size light as much as possible i.e. less than 2MB. Usually, hosts max upload size limit is 2MB by default

  • Code indentation is necessary for making readable format.

  • Use hyphen instead of underscore in handler while enqueue scripts and styles.

Documentation

The following are recommendations for documentation:

  • A readme.txt file can be included.

  • For changes it’s great to have a changelog.txt file also.

  • Keep a changelog wherever it is.

  • Anything you add to the theme that WordPress doesn’t do such as template files, should be documented.

  • Think of all types of users and make sure they can use the theme.

  • Anything your theme does specially should also be documented.

  • Clearly reference any special modifications in comments within the template and stylesheet files.

  • Add comments to modifications, template sections, and CSS styles, especially those which cross template files.

  • It’s also good practice to let someone know where they can get help for the theme.

Core Functionality and Features

  1. It is recommended to use core markup for login form and search form.

  2. If incorporated, features must support the core WordPress implementation:

    1. Automatic Feed Links:

      1. add_theme_support( ‘automatic-feed-links’ )

    2. Sidebars:

      1. register_sidebar()

      2. dynamic_sidebar()

      3. add_action(widgets_init), register_widget()

    3. Navigation Menus:

      1. wp_nav_menu()

      2. register_nav_menu() or register_nav_menus() in functions.php

      3. The following functions may only be used for navigation menus as a callback to wp_nav_menu(), wp_list_pages, wp_list_categories, wp_page_menu, etc.

    4. Post Thumbnails:

      1. the_post_thumbnail()

      2. add_theme_support(‘post-thumbnails’) in functions.php

    5. Custom Headers:

      1. add_theme_support(‘custom-header’) in functions.php

    6. Custom Backgrounds:

      1. add_theme_support(‘custom-background’) in functions.php

    7. Editor Style:

      1. add_editor_style()

      2. editor-style.css file

Templates

  • If used in theme, standard template files are required to be called using the correct template tag:

    • header.php (via get_header())

    • footer.php (via get_footer())

    • sidebar.php (via get_sidebar())

    • comments.php (via comments_template())

    • searchform.php (via get_search_form())

  • If you include your own theme template file, include documentation as to what it refers to.

Templates Tags

  • Themes may modify output via function parameter (body_class( $class )/post_class( $class ))

  • Themes can modify output via filter (body_class/post_class)

  • If you use the relevant templates your theme should include:

    • wp_title()

    • wp_head() – (immediately before </head>)

    • body_class() – (inside <body> tag)

    • $content_width

    • post_class()

    • wp_link_pages()

    • paginate_comments_links(), or previous_comments_link()/next_comments_link()

    • posts_nav_link(), or previous_posts_link()/next_posts_link(), or paginate_links()

    • wp_footer() – (immediately before </body>)

Accessibility

How to be “Accessibility Ready”

This is an optional stage of the theme review process. Submitted themes (or theme updates) that use the tag accessibility-ready will undergo an accessibility review to check against these guidelines. Themes with this tag may not be made live in the theme repository until they have passed an accessibility audit. You are encouraged to exceed these requirements; these are the minimum requirements for the tag.

Did your theme fail the accessibility audit?

If a reviewer finds accessibility issues in your theme that need to be fixed, you will have the opportunity to update your theme to meet the accessibility guidelines or to remove the accessibility-ready tag.

Themes that fail the accessibility review will still be approved for addition to the Theme Repository, but must remove the tag before they can be made live.

Helpful links:

  • Required : http://make.wordpress.org/themes/handbook/review/accessibility/required/

  • Recommended : http://make.wordpress.org/themes/handbook/review/accessibility/recommended/

  • Resources : http://make.wordpress.org/themes/handbook/review/accessibility/resources/