Hi. I'm a starter theme called wd_s
, or wdunderscores
. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead, try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for!
I feature some of the web's most proven technologies like: Gulp, LibSass, Babel, PostCSS, and BrowserSync. To help you write clean code (that meets WordPress standards), I'm also bundled with a Sass Lint, ESLint, and PHPCS linting rulesets. Did I mention that I'm also accessible? Yup. I pass both WCAG 2.1AA and Section 508 standards out of the box.
If that weren't enough, I also support synchronized JSON for Advanced Custom Fields and support both Selective Refresh and Live Preview in the Theme Customizer.
If you have the pro version of Advanced Custom Fields, then you can take advantage of our ACF Content Blocks system. Blocks are great way to "visually manage blocks of content" throughout your website. Learn more about ACF Blocks.
Because I'm bundled with Gulp, basic knowledge of the command line and the following dependencies are required: either Yarn or Node (recommended version 10.x
), Gulp CLI (npm install -g gulp-cli
), and Bower (npm install -g bower
).
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.
If you want to set me up manually:
-
Download and extract the zip into your
wp-content/themes
directory and renamewd_s-master
to fit your needs. -
Find & Replace
You'll need to change all instances of the names: _s
.
- Search for:
'_s'
and replace with:'project-name'
(inside single quotations) to capture the text domain - Search for:
_s_
and replace with:project-name_
to capture all the function names - Search for:
Text Domain: _s
and replace with:Text Domain: project-name
in style.css - Search for (and include the leading space):
_s
and replace with:Project Name
(with a space before it) to capture DocBlocks - Search for:
_s-
and replace with:project-name-
to capture prefixed handles - Search for
_s.pot
and replace with:project-name.pot
to capture translation files - Search for
_s.com
and replace with:project-name.dev
to match your local development URL - Edit the theme information in the header of style.scss to meet your needs
After you've installed and activated me. It's time to setup Gulp.
- From the command line, change directories to your new theme directory
cd /your-project/wordpress/wp-content/themes/your-theme
- Install theme dependencies (use either Yarn or NPM)
Yarn
yarn install && bower install
NPM
npm install && bower install
From the command line, type any of the following to perform an action:
gulp watch
- Automatically handle changes to CSS, JS, SVGs, and image sprites. Also kicks off BrowserSync.
gulp icons
- Minify, concatenate, and clean SVG icons.
gulp i18n
- Scan the theme and create a POT file.
gulp sass:lint
- Run Sass against WordPress code standards.
gulp js:lint
- Run Javascript against WordPress code standards.
gulp scripts
- Concatenate and minify javascript files.
gulp sprites
- Generate an image sprite and the associated Sass (sprite.png).
gulp styles
- Compile, prefix, combine media queries, and minify CSS files.
gulp
- Runs the following tasks at the same time: i18n, icons, scripts, styles, sprites.
Your contributions and support tickets are welcome. Please see our guidelines before submitting a pull request.