A starter theme from WebDevStudios. https://wdunderscores.com
Hello there! I am a versatile starter theme known as wd_s
, or wdunderscores
. My foundation is built primarily on PHP templates, but I offer the flexibility to incorporate custom templates through the Site Editor. It's worth noting that I'm designed for customization, so it's best not to use me as a Parent Theme. Instead, harness my potential to transform me into the most amazing WordPress theme you can envision – that's what I'm here for!
I come equipped with a host of robust web technologies, including Tailwind, npm, webpack, Sass, and PostCSS. To ensure your code aligns with WordPress standards and stays clean, I leverage @wordpress/scripts for CSS and JavaScript linting. What's more, I take accessibility seriously and proudly comply with both WCAG 2.1AA and Section 508 standards right from the start.
I also come with the Site Editor activated, providing you with even more versatility and ease in crafting your WordPress theme. Whether you're customizing templates or utilizing the Site Editor, I'm here to support your creative journey. And remember, I do require at least PHP 8.0 to be activated to unlock my full potential.
Because I compile and bundle assets via NPM scripts, basic knowledge of the command line and the following dependencies are required:
If you want to keep it simple, head over to https://wdunderscores.com and generate your wd_s
based theme from there. You just input the name of the theme you want to create, click the "Generate" button, and you get your ready-to-awesomize starter theme. Alternatively, you could download a pre-built ZIP
If you want to set me up manually:
Download and extract the zip into your wp-content/themes
directory and rename wd_s
to fit your needs.
Find & Replace
You'll need to change all instances of the name: wd_s
.
@package wd_s
and replace with: @package project_name
to capture the package name"WebDevStudios\wd_s,wd_s"
to: "CompanyName\project_name,project_name"
(with double quotes) in phpcs.xml.distWebDevStudios\wd_s
and replace with: CompanyName\project_name
to capture the namespaces"webdevstudios/wd_s"
to "companyname/project_name"
(with double quotes) in composer.json, 'wd_s'
and replace with: , 'project_name'
(inside backticks) to capture the text domainText Domain: wd_s
to: Text Domain: project_name
in style.css"wd_s"
to: "project_name"
(with double quotes) in phpcs.xml.dist and package.json'wd_s'
to: 'project_name'
(with single quotes) in inc/setup/setup.phpwd_s_
and replace with: project_name_
to capture all the function names'wd_s-
and replace with: 'project_name-
to capture prefixed handleswd_s.pot
and replace with: project_name.pot
to capture translation fileswdunderscores.test
and replace with: project_name.test
to match your local development URLFrom the command line, change directories to your new theme directory:
cd /wp-content/themes/your-theme
Install theme dependencies and trigger an initial build.
Note: You will need to have Composer 2 and NPM 9 installed first.
npm i && composer i
From the command line, type any of the following to perform an action:
Command | Action |
---|---|
npm run watch |
Builds assets and starts Live Reload and Browsersync servers |
npm run start |
Builds assets and starts Live Reload server |
npm run build |
Builds production-ready assets for a deployment |
npm run lint |
Check all CSS, JS, MD, and PHP files for errors |
npm run format |
Fix all CSS, JS, MD, and PHP formatting errors automatically |
npm run report |
Gives detailed information on coding standards violations in PHP code |
In order to build a block, run the following wpcli script.
Note: If you're using Local, you can open the shell from within Local to do this. Sitename -> Open site shell
.
wp wds create_portable_block myblock --title="This is myblock" --desc="This block is used for wds." --keyword="myblock" --icon="table-row-before" --namespace="wds"
This will scaffold out a block inside of the blocks
folder in the theme. Replace myblock
with the name of your block and update the other items title
, desc
, keyword
, icon
, namespace
with the appropriate information.
Note: If you don't see your new block available under the block listing in the editor after following the above steps, try changing the namespacing in your block's block.json
to the following format your-namespace/blockname
and check again.
Your contributions and support tickets are welcome. Please see our contributing guidelines before submitting a pull request.
wd_s is free software, and is released under the terms of the GNU General Public License version 2 or any later version. See LICENSE.md for complete license.