New WordPress 3.3 Functionality
- Admin Pointers
- Themes MUST NOT use Admin Pointers, which for the time being have been deemed by the core devs as a “core only” feature.
- Code Quality
- Themes MUST NOT generate any
_doing_it_wrong()notices.
- Themes MUST NOT generate any
Revisions to Existing Guidelines (REQUIRED)
- Template Tags
- Themes are REQUIRED to use
get_template_directory()/get_stylesheet_directory()instead ofTEMPLATEPATH/STYLESHEETPATH
- Themes are REQUIRED to use
- Script Enqueueing
- Themes are REQUIRED to use the Theme-specific hook for admin-enqueued scripts/stylesheets, e.g.
admin_print_scripts-appearance_page_$menu_slug - Themes are RECOMMENDED to enqueue comment-reply script via callback, rather than hard-code the enqueue in the HTML document head
Exxample:
<?php function oenology_enqueue_comment_reply() { if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } } add_action( 'wp_enqueue_scripts', 'oenology_enqueue_comment_reply' ); ?> - Themes are REQUIRED to use core-bundled versions of jQuery UI and jQuery UI Plugins
- Themes are REQUIRED to use the Theme-specific hook for admin-enqueued scripts/stylesheets, e.g.
- Document head
tag- Themes are REQUIRED to use
wp_titlefilter to filterwp_title()(RECOMMENDED), or pass argument towp_title()(OPTIONALLY), in order to modify document title content
- Themes are REQUIRED to use
- Backward Compatibility
- Themes MUST NOT use
function_exists()conditional wrappers for functions/functionality introduced more than one (RECOMMENDED) or two (OPTIONALLY) WordPress version prior
- Themes MUST NOT use
- Licensing
- Themes are REQUIRED to declare copyright and license information as specified by the applicable license
- Derivative Themes are REQUIRED to retain/declare the copyright information of the original work (With GPL-applicable examples)
- Footer credit link:
- Themes are REQUIRED to use matching text strings for link anchor text, alt text, and title text
- TimThumb:
- Themes MUST NOT use TimThumb
- Internationalization:
- Themes are REQUIRED to use a string, rather than a variable, constant, or concatenation, as the textdomain in translation functions.
- Trademark
- Themes MUST NOT clone the design of past or present web site. Themes that clone non-website designs will be considered on a case-by-case basis.
Revisions to Existing Guidelines (RECOMMENDED)
- Theme Settings and Data Security
- Themes are RECOMMENDED to use
do_settings_sections()to output settings sections/fields, rather than hard-coding markup
- Themes are RECOMMENDED to use
Guidelines Clarifications
- Credit Links
- Determination of appropriateness of AuthorURI and ThemeURI is at the sole, and final, discretion of the Theme Review Team. For AuthorURI, emphasis is on the personal nature of the site. For ThemeURI, a mere demo site is insufficient; the URI must include content predominately related to the Theme.