The ClassicPress Theme Directory is intended to be a safe, one-stop source for all ClassicPress compatible themes for all types of user, from a non-technical end-user to a developer.
The following rules are intended to provide transparency around the theme submission process for developers who submit their themes to the directory; the rules also aim to provide consistency and a level playing field for all developers.
If you have suggestions on improving the rules, or questions about them, please contact the theme moderators at [email protected].
- All developers, users with commit access, and all those who officially support a theme, are expected to follow the ClassicPress Theme Directory Rules.
- All developers will ensure their contact information is accurate and up-to-date.
- Developers must take a security-first approach to their themes and ensure their themes are as secure as possible.
- Themes may not contact external servers without explicit and authorized opt-in consent from the user. Documentation on how user data is collected and used must be included in the theme’s readme along with a clearly stated privacy policy.
- Integration with update servers which allow themes to update to new versions (such as Update Manager) is not included in this rule, but update services must not collect identifiable data.
- Themes designed to integrate with third party services, such as Twitter or SMTP, must be clear in the readme file that this is their primary function. If this condition is met then the user will be deemed to have given explicit authorization.
- Free/Freemium/Premium themes are all welcome in the ClassicPress Theme Directory, but must be clearly identified as such in the description. Software-as-a-Service must be categorized as a Premium theme. In this context:
- Free means completely free, un-crippled, and not soliciting upsells in any way.
- Freemium means some functionality is free, but some functions require payment to the theme developer.
- Premium means paid, with no functionality available otherwise.
- Trialware is not permitted in the directory; any theme submitted to the directory must be functional when installed and not stop working; themes using SaaS which stops functioning when a subscription ends is not included in the definition of trialware as they are regarded and classified as premium.
- All themes must be compatible with the GNU General Public License; using the same license as ClassicPress (GPLv2 or later) is strongly recommended, but any GPL-compatible license is acceptable.
- Where a theme includes GPL-licensed code, the theme must fully adhere to the GPL license.
- Developers are solely responsible for the content and actions of their theme and must not do anything illegal, dishonest, or morally offensive, including exploiting loopholes in the Theme Directory rules. Furthermore, developers must respect trademarks, copyrights, and project names; including such terms in the theme name may be acceptable depending on use, but never at the start of the name.
- Only completed themes are acceptable for submission to the Theme Directory; incomplete or misleading submissions are not permitted.
- All files within the theme must adhere to the rules. The developer will, prior to submitting their theme to the Directory, confirm the licensing of all included files (including all code, images, etc.) and that the terms of use of any services or APIs called by the theme are met. If this cannot be done, the theme should not be submitted.
- Each time code is updated in the repository, the version number and the download link must be updated; the use of Semantic Versioning 2.0.0 is strongly recommended. Frequent updates are not acceptable and will be seen as an attempt to game the search results; only release ready code should be committed.
- Each time ClassicPress releases a major version, an email is sent to the developers, two weeks ahead of the release, reminding them to test their theme against the new ClassicPress version. Not taking action may result in delisting of the theme.
- ClassicPress ships packaged with libraries such as jQuery, Atom Lib, SimplePie, PHPMailer, PHPass, etc.; themes must not include their own versions of any standard libraries.
- Developers will act in good faith and will not restore code they were previously asked to remove; nor will they write code to circumvent the rules.
- The developer will maintain their own GitHub repository for each theme which will include a stable version of the theme (as defined by the creation of a release). A release zip should be included in a release. General info about releases could be found here.
- Themes should have an unique name (and slug) that differs from themes listed in the WordPress Theme Directory. Otherwise, the WordPress Repository version will take precedence over the ClassicPress version.
- A theme should not add site-critical functionality. Doing so means that a user loses access to that functionality when they change their theme.
For example, say you build a theme with a portfolio feature. Users who build their portfolio with this feature will lose it when they change themes. By leaving critical features to plugins, you make it possible to change the design of a site while its features remain intact. - Code must be human readable. Obfuscating code by use of systems or techniques such as p,a,c,k,e,r’s obfuscate feature, uglify’s mangle, or unclear naming conventions such as $abc123, is not permitted in the directory.
- Themes should include a screenshot used for displaying the theme under Appearance > Themes in the site’s dashboard and in the ClassicPress Theme Directory. It should display the site’s homepage, created without the use of additional styling nor plugins. The size of the screenshot should be 1200×900 px, named
screenshot.png
, and included in the main theme folder. - Publicly facing pages and files, such as Readme files, must not be used to spam users or game search results.
- Only critical or highly important notifications should be displayed outside of a themes settings pages and must be dismissible; adverts are not permitted outside of the theme settings pages.
- A properly formatted notification about a Companion Plugin is allowed within theme settings pages. A companion Plugin is developed for adding extra features to the theme. Free Companion Plugins should be listed in the ClassicPress Plugin Directory. Freemium or Premium Companion Plugins may be hosted elsewhere, but the notification should clearly state this. The Companion Plugin should not be required for the theme to function properly on itself.
- Themes must not include credits or links on the public facing site without explicit opt-in permission from the user.
- ClassicPress will maintain the Theme Directory to the best of our ability, but reserve the following rights:
- To update the rules at any time.
- To suspend or remove a theme from the directory for breach, in word or spirit, of the Theme Directory rules.
- To allow new, active, developers to take over an orphaned theme (see adoption rules for further details).
Failure to follow the rules, or respond in a timely manner, will result in a theme being suspended from the directory until such time as the issue has been resolved; repeated failure to follow this rule may result in all a developer’s themes being removed from the directory and the developer banned from future submissions.
If you are uncertain whether a theme might violate the rules, please contact the theme moderators at [email protected].