A starter for WordPress classic themes, based on _s/underscores.
Clone or download this repository, change its name to something else (like, say, megatherium-is-awesome
), and then you'll need to do a six-step find and replace (case-sensitive) on the name in all the templates.
- Search for
'wp-classic-theme-starter'
(inside single quotations) to capture the text domain and replace with:'megatherium-is-awesome'
. - Search for
wp_classic_theme_starter_
to capture all the functions names and replace with:megatherium_is_awesome_
. - Search for
Text Domain: wp-classic-theme-starter
instyle.css
and replace with:Text Domain: megatherium-is-awesome
. - Search for
WP_Classic_Theme_Starter
to capture DocBlocks and replace with:Megatherium_is_Awesome
. - Search for
wp-classic-theme-starter-
to capture prefixed handles and replace with:megatherium-is-awesome-
. - Search for
WP_CLASSIC_THEME_STARTER_
(in uppercase) to capture constants and replace with:MEGATHERIUM_IS_AWESOME_
.
Then, update the stylesheet header in style.css
, the links in footer.php
with your own information and rename wp-classic-theme-starter.pot
from languages
folder to use the theme's slug. Next, update or delete this readme.
To start using all the tools that come with wp-classic-theme-starter
you need to install the necessary Node.js and Composer dependencies :
$ composer install
$ npm install
For a local development environment you can use @wordpress/env.
This starter theme is configured to work with @wordpress/env, you just need to make sure you meet its prerequisites and installation.
$ wp-env start
For more information on how to use @wordpress/env please refer to the documentation.
wp-classic-theme-starter
comes packed with CLI commands tailored for WordPress theme development :
composer lint:wpcs
: checks all PHP files against WordPress PHP Coding Standards.composer lint:php
: checks all PHP files for syntax errors.composer make-pot
: generates a .pot file in thelanguages/
directory.npm run compile:css
: compiles SASS files to css.npm run compile:rtl
: generates an RTL stylesheet.npm run watch
: watches all SASS files and recompiles them to css when they change.npm run lint:scss
: checks all SASS files against CSS Coding Standards.npm run lint:js
: checks all JavaScript files against JavaScript Coding Standards.npm run bundle
: generates a .zip archive for distribution, excluding development and system files.
For questions about about this project or issues, you can reach out to:
- Pedro Santa ([email protected])