Sage makes you a better developer.

Sage Underscores Genesis
Price Free Free $59.95
Theme type Starter Starter Framework
On GitHub with PHP CS linting
Sass stylesheets
Build script included
Live reloading
Auto-minify and concatenate CSS/JS
Automatically optimize theme images
Modern PHP & requirements
Theme customizer ready
DRY templates
Mobile-first, responsive
Widgets included
Custom header support out of the box

Modern front-end workflow

If Underscores is a “1,000 hour head start”, Sage is a 10,000 hour head start.

Write stylesheets with Sass, automatically check your JavaScript for errors, optimize images, enable synchronized browser testing, and more with our Webpack setup.

Stay DRY with Blade templates

One of the benefits of using Laravel's Blade as a templating engine is the ability to remove any repeated markup from individual templates and put it into a single file.

Markup is handled by one file (base.blade.php) instead of being duplicated across all template files like Underscores.

single.blade.php in Sage

        {!! the_post() !!}

single.php in Underscores

    <?php get_header(); ?>
      <div id="primary" class="content-area">
        <main id="main" class="site-main" role="main">
        while ( have_posts() ) : the_post();
          get_template_part( 'template-parts/content', get_post_format() );
          // If comments are open or we have at least one comment, load up the comment template.
          if ( comments_open() || get_comments_number() ) :
        endwhile; // End of the loop.
        </main><!-- #main -->
      </div><!-- #primary -->

Join over 6,000 subscribers on our newsletter to get the latest Roots updates, along with occasional tips on building better WordPress sites.

Looking for WordPress plugin recommendations, the newest modern WordPress projects, and general web development tips and articles?

“Easily the best WordPress email I get.” Colin OBrien

Follow us on Twitter @rootswp

Ready to checkout?