Please review and discuss. This list will be finalized after release of WordPress 3.3, and will be made effective one month following release.
Note: WordPress 3.3 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 3 has been released. If you haven’t done so already, now is the time to switch to the beta releases/nightlies for Theme testing.
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
RevisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. 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_enqueue_script-appearance_page_$menu_slug Themes are REQUIRED to enqueue comment-reply script via callback in functions.php, rather than output in document headUpdated:
Themes areREQUIREDRECOMMENDED to enqueue comment-reply script via callback, rather than hard-code the enqueue in the HTMLHTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. 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 coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-bundled versions of jQuery UIUI UI is an acronym for User Interface – the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. 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_titlefilterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. 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 GPLGPL GPL is an acronym for GNU Public License. It is the standard license WordPress uses for Open Source licensing https://wordpress.org/about/license/. The GPL is a ‘copyleft’ license https://www.gnu.org/licenses/copyleft.en.html. This means that derivative work can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD license and the MIT License are widely used examples.-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.