👫 Combines Automattic´s Underscores Starter Theme and Bootstrap 4 - Visit:
Clone or download
Failed to load latest commit information.
css Version bump to 0.8.7, dependency updates and rebuild Sep 11, 2018
fonts update changelog to 0.81 Mar 7, 2018
global-templates Prevent direct access Sep 10, 2018
inc Prevent direct access Sep 10, 2018
js we don´t need popper.js anymore because it is in bootstrap.bundle.js Sep 15, 2018
languages Merge pull request #738 from jfig/master Aug 20, 2018
loop-templates Prevent direct access Sep 10, 2018
page-templates Prevent direct access Sep 10, 2018
sass Version bump to 0.8.7, dependency updates and rebuild Sep 11, 2018
sidebar-templates Merge branch 'master' into patch-8 Sep 11, 2018
src Update to Bootstrap 4.1.3 Jul 26, 2018
woocommerce Update form-coupon template to 3.4.4 Aug 4, 2018
.gitignore - Minor grammar and spelling corrections. Jul 27, 2018
.jscsrc exclude gulpfile.js from Travis checks Mar 7, 2018
.jshintignore adding gulp file.js to jshintignore Mar 7, 2018
.travis.yml and again Mar 7, 2018
404.php Prevent direct access Sep 10, 2018
CHANGELOG.md Update changelog Sep 11, 2018
CODE-OF-CONDUCT.md Needs change of Mail-address. Inserted mine as a temporary workaround… Mar 16, 2018
CONTRIBUTING.md Add CONTRIBUTING.md for review Mar 16, 2018
ISSUE_TEMPLATE.md - Updated URL to understrap-child in README. Apr 24, 2018
LICENSE.md Create LICENSE.md Mar 17, 2018
README.md - Minor grammar and spelling corrections. Jun 6, 2018
archive.php Prevent direct access Sep 10, 2018
author.php Prevent direct access Sep 10, 2018
bower.json Version bump to 0.8.7, dependency updates and rebuild Sep 11, 2018
codesniffer.ruleset.xml Update codesniffer.ruleset.xml Aug 14, 2017
comments.php Prevent direct access Sep 10, 2018
composer.json Change type of package to wordpress-theme Apr 11, 2018
footer.php Prevent direct access Sep 10, 2018
functions.php Refactor functions.php Sep 12, 2018
gulpconfig.json Update gulpconfig.json Aug 26, 2018
gulpfile.js Fix for #808 Sep 16, 2018
header.php Prevent direct access Sep 10, 2018
index.php Prevent direct access Sep 10, 2018
package.json Version bump to 0.8.7, dependency updates and rebuild Sep 11, 2018
page.php Prevent direct access Sep 10, 2018
readme.txt Fixing sanitizing, escaping and prefix´s issues Dec 6, 2017
screenshot.png adding new screenshot Apr 13, 2018
search.php Prevent direct access Sep 10, 2018
searchform.php Prevent direct access Sep 10, 2018
sidebar.php Prevent direct access Sep 10, 2018
single.php Prevent direct access Sep 10, 2018
style.css Version bump to 0.8.7, dependency updates and rebuild Sep 11, 2018


Travis build: Build Status

See: Official Demo | Read: Official Docs Page

UnderStrap WordPress Theme Framework

Website: https://understrap.com

Child Theme Project: https://github.com/understrap/understrap-child


I’m a huge fan of Underscores, Bootstrap, and Sass. Why not combine these into a solid WordPress Theme Framework? That’s what UnderStrap is. You can use it as a starter theme and build your own theme on top of it. Or you can use it as a parent theme and create your own child theme for UnderStrap.


UnderStrap WordPress Theme, Copyright 2013-2018 Holger Koenemann UnderStrap is distributed under the terms of the GNU GPL version 2



See changelog

Basic Features

  • Combines Underscore’s PHP/JS files and Bootstrap’s HTML/CSS/JS.
  • Comes with Bootstrap (v4) Sass source files and additional .scss files. Nicely sorted and ready to add your own variables and customize the Bootstrap variables.
  • Uses a single minified CSS file for all the basic stuff.
  • Font Awesome integration (v4.7.0)
  • Jetpack ready.
  • WooCommerce support.
  • Contact Form 7 support.
  • Child Theme ready.
  • Translation ready.

Starter Theme + HTML Framework = WordPress Theme Framework

The _s theme is a good starting point to develop a WordPress theme. But it is “just” a raw starter theme. That means it outputs all the WordPress stuff correctly but without any layout or design. Why not add a well known and supported layout framework to have a solid, clean and responsive foundation? That’s where Bootstrap comes in.

Confused by All the CSS and Sass Files?

Some basics about the Sass and CSS files that come with UnderStrap:

  • The theme itself uses the /style.cssfile only to identify the theme inside of WordPress. The file is not loaded by the theme and does not include any styles.
  • The /css/theme.css and its minified little brother /css/theme.min.css file(s) provides all styles. It is composed of five different SCSS sets and one variable file at /sass/theme.scss:
@import "../src/bootstrap-sass/assets/stylesheets/bootstrap";  // 2. All the Bootstrap stuff - Don´t edit this!
@import "understrap/understrap"; // 3. Some basic WordPress stylings and needed styles to combine Boostrap and Underscores
@import "../src/fontawesome/scss/font-awesome"; // 4. Font Awesome Icon styles
// Any additional imported files //
@import "theme/theme";  // 5. Add your styles into this file
  • Don’t edit the number 2-4 files/filesets listed above or you won’t be able to update Understrap without overwriting your own work!
  • Your design goes into: /sass/theme.
    • Add your styles to the /sass/theme/_theme.scss file
    • And your variables to the /sass/theme/_theme_variables.scss
    • Or add other .scss files into it and @import it into /sass/theme/_theme.scss.


There are several ways to install UnderStrap. We'll look at three of them: (1) classic install by uploading UnderStrap to a WordPress install, (2) using npm, and (3) using the theme directory in WordPress.

Classic install

  • Download the understrap folder from GitHub or from https://understrap.com
  • IMPORTANT: If you download it from GitHub make sure you rename the "understrap-master.zip" file just to "understrap.zip" or you might have problems using child themes!
  • Upload it into your WordPress installation theme subfolder: /wp-content/themes/
  • Login to your WordPress backend
  • Go to Appearance → Themes
  • Activate the UnderStrap theme

npm install

  • Open your terminal
  • Change to the directory where you want to add UnderStrap
  • Type npm install understrap

WordPress.org install

  • Open your WordPress backend
  • Click on "Appearance -> Themes"
  • Hit the "Add new" button
  • Search for "UnderStrap"
  • Hit the "install" button
  • Activate the theme

Developing With npm, Gulp and SASS and [Browser Sync][1]

Installing Dependencies

  • Make sure you have installed Node.js and Browser-Sync (optional) on your computer globally
  • Then open your terminal and browse to the location of your UnderStrap copy
  • Run: $ npm install


To work with and compile your Sass files on the fly start:

  • $ gulp watch

Or, to run with Browser-Sync:

  • First change the browser-sync options to reflect your environment in the file /gulpconfig.json in the beginning of the file:
    "browserSyncOptions" : {
        "proxy": "localhost/theme_test/", // <----- CHANGE HERE
        "notify": false
  • then run: $ gulp watch-bs

How to Use the Built-In Widget Slider

The front-page slider is widget driven. Simply add more than one widget to widget position “Hero”.

  • Click on Appearance → Widgets.
  • Add two, or more, widgets of any kind to widget area “Hero”.
  • That’s it.

RTL styles?

Add a new file to the themes root folder called rtl.css. Add all alignments to this file according to this description: https://codex.wordpress.org/Right_to_Left_Language_Support

Page Templates

UnderStrap includes several different page template files: (1) blank template, (2) empty template, and (3) full width template.

Blank Template

The blank.php template is useful when working with various page builders and can be used as a starting blank canvas.

Empty Template

The empty.php template displays a header and a footer only. A good starting point for landing pages.

Full Width Template

The fullwidthpage.php template has full width layout without a sidebar.


[1] Visit http://browsersync.io for more information on Browser Sync

Licenses & Credits