Theme Header Requirements

File style.css of a theme is the one that contains certain header information which tells ClassicPress that it is a theme, and provides information about the theme. ClassicPress only supports theme files in the wp-content/themes/my-theme directory.

There are only three fields which are technically required to be included in the theme header:
The Theme Name, Requires PHP and Requires CP.
However there are several optional, but recommended fields. All theme data must be on its own line. For theme description, it must not have any newlines.

Header Fields

Theme Name: The name of your theme, which will be displayed in the ClassicPress Theme Directory and in the site’s dashboard. It should be unique.
Theme URI: The home page of the theme, which should be a unique URL, preferably on your own website. This must be unique to your theme. You cannot use a WordPress.org or ClassicPress.net URL here.
Description: A short description of the theme, as displayed in the ClassicPress Theme Directory and in the site’s dashboard. Keep this description to fewer than 140 characters.
This header is unnecessary if using a README.md file.
Version: The current version of the theme (e.g. 1.0.3 or 2.1.1); for ClassicPress themes the version should follow semantic versioning.
Requires at least: The lowest WordPress version that the theme will work on.
    Note: this field only works if the theme is stored on the WordPress Repository.
    Note 2: if set, the version should be no higher than 4.9.15
Requires PHP: The minimum required PHP version.
Requires CP: The lowest ClassicPress version that the theme will work on.
    Note: this field only works if the theme is stored on the WordPress Repository.
Author: The name of the theme author. Multiple authors may be listed using commas.
Author URI: The author’s website or profile on another website, such as WordPress.org or ClassicPress Forum Profile.
License: The short name (slug) of the theme’s license (e.g. GPLv2). All themes submitted to the ClassicPress Theme Directory must be licensed under a GPL license or have a GPL compatible license.
License URI: A link to the full text of the license, such as http://www.gnu.org/licenses/gpl-2.0.html.
Text Domain: The gettext text domain of the theme. This should be unique per theme and should be same as the one used in load_theme_textdomain().
Domain Path: The folder location of the translations; this is only useful if the translations are in a folder above the theme’s base path. For example, if .mo files are located in the languages folder then Domain Path will be /languages and must have the first slash.
Network: Whether the theme can only be activated network-wide. Can only be set to true, and should be left out when not needed.

This is an example of a properly formatted Theme Header:

/*
 Theme Name:        My Basics theme
 Theme URI:         https://example.com/themes/the-basics/
 Description:       Handle the basics with this theme.
 Version:           1.10.3
 Requires at least: 4.9.15
 Requires PHP:      7.2
 Requires CP:       1.3
 Author:            John Smith
 Author URI:        https://author.example.com/
 License:           GPL v2 or later
 License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:       my-basics-theme
 Domain Path:       /languages
 */

Last updated on June 17th, 2025 at 09:04 am