Skip to content
A WordPress starter theme. The code I use to start all of my Pro Theme Design themes.
Branch: master
Clone or download
BinaryMoon Merge pull request #1 from kant/patch-1
Some minor formatting proposals on folders
Latest commit 2369c67 Jun 30, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets Update editor styles Jan 27, 2019
inc Improve coding standards Mar 31, 2019
parts Improve coding standards Mar 31, 2019
templates update domain to https Feb 27, 2018
404.php Some minor formatting proposals on folders Jun 30, 2019
archive-jetpack-testimonial.php tidy codes Sep 2, 2018
archive.php add 'page' text to page numbers Apr 9, 2019
comments.php tidy codes Sep 2, 2018
compat.php Add new wp_body_open function Mar 31, 2019
footer.php fix footer translator comment Sep 9, 2018
header.php Add new wp_body_open function Mar 31, 2019
image.php add default class for attachment description Oct 3, 2018
index.php add 'page' text to page numbers Apr 9, 2019
license.txt add license file Sep 23, 2016
readme.txt update license urls to be secure Jul 17, 2017
rtl.css Update styles Jan 27, 2019
screenshot.png move all theme files to the root Feb 12, 2017
search.php add 'page' text to page numbers Apr 9, 2019
searchform.php remove placeholder from search form Sep 23, 2018
sidebar-footer.php remove more roles Jul 2, 2017
sidebar.php remove more roles Jul 2, 2017
singular.php remove role=main from html Jul 2, 2017
style.css Update style.css Mar 31, 2019
style.scss Update styles Jan 27, 2019

Granule - A WordPress Starter Theme.

Granule is the theme I use as the starter theme for all of my Pro Theme Design themes.

The theme was initially based on Darren Hoyts Gravy theme, but has evolved over many years of developing themes for It now takes inspiration from _s and is a simple starting point for creating new WordPress themes.

Things to note:

  • It is not a theme framework or a parent theme.
  • The theme code does not care about backwards compatibility. There's no need since the theme is not a parent theme.
  • Granule always supports the latest version of WordPress.
  • WordPress coding standards should be followed. I do this locally using PHPCS, with the WordPress Coding Standards.
  • Docblocks are used extensively. Eventually I want to auto generate documentation using these comments.
  • Accessibility is baked in (following the standards). However I am sure it's not perfect and is something I am keen to improve - would love pull requests to help here :)

Example Themes

Below is a selection of the recent themes that Granule was used to create:


  • Supports most major WordPress functionality (Custom header, Site Logo etc)
  • Supports most Jetpack functionality (Featured Content, Infinite Scroll, Portfolios, Social Menus, Content Options - and more) - see jetpack.php for more.
  • Follows the theme developer guidelines.
  • Pure CSS dropdown menu (with a smattering of js for compatibility).
  • SVG Icons
  • SASS styles
  • Boilerplate Customizer code

Using Granule

To use the theme as a starter theme I recommend checking out all of the files and then placing both the __sass and granule directories into your wp-content/themes folder. You can then either hack away on granule, or create a copy of the granule folder and use that to create your themes. Either way you will need to do a case sensitive search and replace on all instances of the name granule.

About the __sass Framework

Granule uses an external SASS library. This means the SASS is easily reusable - however it's entirely optional. If you don't want to use it then you can use your normal library/ process. This is one of the joys of using a starter theme.

If you want to use the Granule SASS library then I recommend the following process:

  • Grab the Granule SASS library
  • Place the Granule SASS library in the wp-content/themes directory (Granule theme is setup to use this location)

Many of the library properties are stored in variables in the __sass/lib/variables directory. These can be overriden in the granule/assets/sass/lib/_variables.scss



You can’t perform that action at this time.