-
-
Save tenman/f8ba26cb71e2034c2e75 to your computer and use it in GitHub Desktop.
review checklist strings from https://wordpress.org/plugins/theme-checklist/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
No Plugin Territory Functionality | |
</dt> | |
<dd> | |
excerpt: Themes must not include any functionality that would be considered plugin territory. These include, but is not limited to custom post types, custom taxonomies, SEO options, analytics scripts fields. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Plugin Territory | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/no-plugin-territory-functionality/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
A Clean HTML Head | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
There are a lot of requirements focused around the HTML head, so it's important to make sure yours is compliant. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/a-clean-html-head/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Properly Enqueue Scripts and Styles | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
All Javascript and CSS stylesheets must be enqueued using the built in WordPress functions. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/properly-enqueue-scripts-and-styles/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Using Bundled Scripts and Styles | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must always used bundled scripts and styles for common libraries like jQuery instead of using their own. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/using-bundled-scripts-and-styles/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Default Theme Settings | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must use sane defaults. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Theme Settings | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/default-theme-settings/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
No PHP Error Messages | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must not generate any error messages or warnings when WordPress debug mode is enabled. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/no-php-error-messages/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Theme Check Plugin | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must pass all required checks in the theme check plugin. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/theme-check-plugin/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Namespace All Functions, Classes, Constants and Global Variables | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must properly namespace everything in the public namespace. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/namespace-all-functions-classes-constants-and-global-variables/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Theme Passes Current Unit Test | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
A good theme should pass all the requirements of the unit test. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Visual Tests | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/theme-passes-current-unit-test/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Theme Code Licensing | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
New theme developers often slip up on licensing so it's something you need to pay special attention to. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Licensing | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/theme-code-licensing/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Post and Body Class Functions Properly Used | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes need to use the proper method for adding post and body classes | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/post-and-body-class-functions-properly-used/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Don't Support Outdated Versions of WordPress | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must not support outdated versions of WordPress. Outdated is considered any version beyond the current and 2 versions back. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/dont-support-outdated-versions-of-wordpress/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Theme Settings and Admin Pages | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must properly implement theme settings pages. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Theme Settings | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/theme-settings-and-admin-pages/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Everything Must Be Saved Into a Single Array Using a Proper Prefix | |
</dt> | |
<dd> | |
excerpt: Themes can't save their settings into multiple database entries. These should be saved into a single array and the option key must be prefixed with the theme slug. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Theme Settings | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/settings-must-be-saved-into-a-single-array/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Used Checked and Selected Functions | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must use checked() and selected() where necessary. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Theme Settings | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/used-checked-and-selected-functions/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Escape User Inputted Values | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
When ever a user inputted value is echoed, it must be escaped by a data validation function. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Security | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/escape-user-inputted-values/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Image/Photo Licensing | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
The license of each photo bundled with the theme should be GPL compatible and verified. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Licensing | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/imagephoto-licensing/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
English Front Facing Text | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
All text that a theme can see, either in their admin or the front end of their site must default to being English. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Language and Translation | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/english-front-facing-text/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Theme Text Translation | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
If used, themes must use translation functions properly. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Language and Translation | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/theme-text-translation/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
No External Resources or Requests | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes can not load external resources or make external requests without informed user consent. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Security | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/no-external-resources-or-requests/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Theme Doesn't Lock Out Core Functionality | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must not lock out core features of WordPress. Up-sell themes can't advertise core features as part of the paid version. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Up-Sell Themes | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/theme-doesnt-lock-out-core-functionality/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Commercial Versions of The Theme Are GPL | |
</dt> | |
<dd> | |
excerpt: All themes on the theme author's site must be GPL compatible. This includes commercial versions of the submitted theme and all other themes listed on the author's site. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Up-Sell Themes | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/commercial-versions-of-the-theme-are-gpl/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Valid Credit Links, Author URI and Theme URI | |
</dt> | |
<dd> | |
excerpt: Themes must have valid author URI and theme URI. Both of these must be directly related to the theme author. The theme credit link can only be one of these 2 URIs. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
General | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/valid-credit-links-author-uri-and-theme-uri/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Theme Properly Handles Comments | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
A theme must properly handle comments using the correct template tags and by supporting the comment-reply script. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/theme-properly-handles-comments/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Properly Include Template Parts | |
</dt> | |
<dd> | |
excerpt: Themes must use the dedicated WordPress functions to include template parts, or use get_template_part/locate_template for custom template parts. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/properly-include-template-parts/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Proper Archive Navigation | |
</dt> | |
<dd> | |
excerpt: Themes must support core WordPress post archive pagination. They can include support for other pagination plugins, but must always fall back to the core functions. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/proper-archive-navigation/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Theme Has a Properly Formed Footer | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
The only real requirement here is that the theme has a wp_footer call just before the closing body tag. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/theme-has-a-properly-formed-footer/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Handles Page Pagination | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must display page pagination. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/handles-page-pagination/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Include/Require Additional Include Files Properly | |
</dt> | |
<dd> | |
excerpt: Themes must include additional include files in their functions.php using get_template_directory or get_stylesheet_directory if the file is designed to be overwritten by a child theme. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/includerequire-additional-include-files-properly/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Use The Proper Functions To Retreive URLs | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must use the proper *_url or *_uri function to get URLs within WordPress - get_bloginfo must not be used to get URLs. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/use-the-proper-functions-to-retreive-urls/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
No Admin Notices Outside Theme's Admin Pages | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes are only allowed displaying admin notices on admin pages that they specifically create. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Theme Settings | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/no-admin-notices-outside-themes-admin-pages/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Correct Spelling of WordPress | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
General | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/correct-spelling-of-wordpress/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Proper Theme Screenshot | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
General | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/proper-theme-screenshot/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
$content_width Set Inside a Theme Setup Function | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
The value of $content_width must be set globally, to the pixel width of actual post content and set in a theme setup function. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Code Quality | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/content_width-set-inside-a-theme-setup-function/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
Sane Defaults | |
</dt> | |
<dd> | |
excerpt: Themes must work right out the box, without any user configuration and must not save settings to the database before the user interacts with the settings page. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Theme Settings | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/sane-defaults/ | |
</dd> | |
</dl> | |
<dl> | |
<dt> | |
<span class="title">Title:</span> | |
No Admin Notices or Redirects on Theme Activation | |
</dt> | |
<dd> | |
<span class="title">excerpt:</span> | |
Themes must not perform redirects or display admin notices after they're activated. | |
</dd> | |
<dd> | |
<span class="title">category:</span> | |
Theme Settings | |
</dd> | |
<dd> | |
<span class="title">url:</span> | |
http://themechecklist.org/no-admin-notices-or-redirects-on-theme-activation/ | |
</dd> | |
</dl> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment