Need help with _s?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

Automattic
10.0K Stars 3.0K Forks GNU General Public License v2.0 1.4K Commits 36 Opened issues

Description

Hi. I'm a starter theme called _s, or underscores, if you like. 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.

Services available

!
?

Need anything else?

Contributors list

No Data

Build Status

_s

Hi. I'm a starter theme called

_s
, or
underscores
, if you like. 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.

My ultra-minimal CSS might make me look like theme tartare but that means less stuff to get in your way when you're designing your awesome theme. Here are some of the other more interesting things you'll find here:

  • A modern workflow with a pre-made command-line interface to turn your project into a more pleasant experience.
  • A just right amount of lean, well-commented, modern, HTML5 templates.
  • A custom header implementation in
    inc/custom-header.php
    . Just add the code snippet found in the comments of
    inc/custom-header.php
    to your
    header.php
    template.
  • Custom template tags in
    inc/template-tags.php
    that keep your templates clean and neat and prevent code duplication.
  • Some small tweaks in
    inc/template-functions.php
    that can improve your theming experience.
  • A script at
    js/navigation.js
    that makes your menu a toggled dropdown on small screens (like your phone), ready for CSS artistry. It's enqueued in
    functions.php
    .
  • 2 sample layouts in
    sass/layouts/
    made using CSS Grid for a sidebar on either side of your content. Just uncomment the layout of your choice in
    sass/style.scss
    . Note:
    .no-sidebar
    styles are automatically loaded.
  • Smartly organized starter CSS in
    style.css
    that will help you to quickly get your design off the ground.
  • Full support for
    WooCommerce plugin
    integration with hooks in
    inc/woocommerce.php
    , styling override woocommerce.css with product gallery features (zoom, swipe, lightbox) enabled.
  • Licensed under GPLv2 or later. :) Use it to make something cool.

Installation

Requirements

_s
requires the following dependencies:

Quick Start

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 on the name in all the templates.
  1. Search for
    '_s'
    (inside single quotations) to capture the text domain and replace with:
    'megatherium-is-awesome'
    .
  2. Search for
    _s_
    to capture all the functions names and replace with:
    megatherium_is_awesome_
    .
  3. Search for
    Text Domain: _s
    in
    style.css
    and replace with:
    Text Domain: megatherium-is-awesome
    .
  4. Search for  s (with a space before it) to capture DocBlocks and replace with:  Megatheriumis_Awesome.
  5. Search for
    _s-
    to capture prefixed handles and replace with:
    megatherium-is-awesome-
    .
  6. Search for
    _S_
    (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
_s.pot
from
languages
folder to use the theme's slug. Next, update or delete this readme.

Setup

To start using all the tools that come with

_s
you need to install the necessary Node.js and Composer dependencies :
$ composer install
$ npm install

Available CLI commands

_s
comes packed with CLI commands tailored for WordPress theme development :
  • composer lint:wpcs
    : checks all PHP files against PHP Coding Standards.
  • composer lint:php
    : checks all PHP files for syntax errors.
  • composer make-pot
    : generates a .pot file in the
    languages/
    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.

Now you're ready to go! The next step is easy to say, but harder to do: make an awesome WordPress theme. :)

Good luck!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.