Requirements

In order to have your software listed in this Directory, you must first register, for which you will need to provide a GitHub Username (or a GitHub Org Name). You will then need to activate Two Factor Authentication, after which we will review your registration. You will receive an email when it has been approved.

You may then use the Software Submission Form to submit your software (whether plugin, theme, or code snippet) to the Directory. You will need to ensure that the code for your software is stored in a GitHub repository associated with the GitHub Username (or GitHub Org Name) you previously supplied when you registered. You will also need to ensure that your software provides the following three items of information:

  1. Requires PHP header
  2. Requires CP header
  3. Either a README.md file in the software’s zip file — this is the preferred method — or a Description header. If neither of these are found, we will look for a README.md file in the software’s repository.

Plugins and Code Snippets

For a plugin or code snippet, the headers should be listed (one line for each header) at the top of the main .php file, like this:

/**
* Requires PHP: 7.2
* Requires CP: 1.4
* Description: (Note: this header is unnecessary if you are using a README.md file)
*/

You may include other headers if you wish, but they will be ignored by the ClassicPress Directory. (For plugins only, we can also read the headers and description if supplied in the plugin’s readme.txt file, but this will work only if it includes the Requires CP header. It may also lead to a less pleasing formatting of the description of your plugin in the ClassicPress Directory. So relying on this method is not recommended.)

Themes

For a theme, the headers should be listed (again, one line for each header) at the top of the style.css file, like this:

/*
Theme Name: Name of your theme
...
Description: A description of your theme.
Requires PHP: 7.2
Requires CP: 1.4
...
*/

As indicated by the ellipses, you should typically include other headers too, though their presence serves other purposes and will be ignored by the ClassicPress Directory.

If the required headers are not present in the style.css file, the Directory will attempt to obtain them from the theme’s readme.txt file but, as with plugins, this will work only if that file includes the Requires CP header. Even then, this fallback may lead to a less pleasing formatting of the description of your theme in the ClassicPress Directory. Relying on this fallback is, therefore, not recommended.