WordPress parent or starter theme framework.
PHP CSS JavaScript
Latest commit eb23555 Nov 24, 2016 @scottsweb Update readme to 1.0
Failed to load latest commit information.
assets Check for ie9 colour before outputting chrome theme colour Nov 23, 2016
.gitignore More to ignore Sep 15, 2014
404.php Use <main> for main section Nov 22, 2016
archive.php Use the_archive_title and description tags in archive.php Nov 23, 2016
attachment.php Use <main> for main section Nov 22, 2016
author.php Use <main> for main section Nov 22, 2016
category.php Use <main> for main section Nov 22, 2016
comments.php More formatting fixes Sep 16, 2014
composer.json composer.json - closes #1 Dec 14, 2013
footer.php Footer whitespace clean Sep 15, 2014
functions.php Remove notes Nov 23, 2016
header.php Escape all instances of home_url() Nov 22, 2016
index.php Use <main> for main section Nov 22, 2016
license.txt 0.95 Nov 7, 2012
loop-page.php More formatting fixes Sep 16, 2014
loop-search.php Remove pubdate (not in HTML5 spec) Apr 17, 2014
loop-single.php More formatting fixes Sep 16, 2014
loop.php Loop whitespace clean Sep 15, 2014
options.php Rip out LESS compiler options Nov 23, 2016
page.php Use <main> for main section Nov 22, 2016
readme.md Update readme to 1.0 Nov 23, 2016
screenshot.png Update screenshot size Nov 23, 2016
search.php Use <main> for main section Nov 22, 2016
searchform.php 0.99 Feb 22, 2013
sidebar.php More formatting fixes Sep 16, 2014
single.php Use <main> for main section Nov 22, 2016
style.css Support for screen-reader-text. Update version and URLs in theme head… Nov 23, 2016
tag.php Use <main> for main section Nov 22, 2016


null logo



null is a tinkerers framework with ambitions to be the smartest, fastest and simplest way to build WordPress themes.

null provides a platform for both rapid prototyping and production sites and can be used as either a starter theme or parent theme, the choice is yours!

Things you will love:

  • HTML5 - Based on the great work of the HTML5 Boilerplate.
  • Theme Options - Easily create and customise the default theme options thanks to the Theme Options Framework.
  • Drop In Widgets, Shortcodes and Post Types - Easily bundle extra functionality with your theme. We include a few to get you started.
  • WordPress Setup - After activation of the theme you can choose to setup WordPress with a great set default settings, rewrite rules and htaccess trickery.
  • LESS - A better way to write CSS. All LESS files are automagically parsed and cached, no extra software required.
  • Semantic, responsive grid systems - null makes use of semantic.gs.


To install this theme:

  1. Login to your wp-admin area and visit "Appearance -> Themes". Select the "Install Themes" tab and click on the Upload link at the top of the page. Browse to the null .zip file you have downloaded and hit the "Install Now" button.
  2. Alternatively you can unzip the theme folder (.zip). Then, via FTP, upload the "null" folder to your server and place it in the /wp-content/themes/ directory.
  3. Login to your wp-admin and visit "Appearance -> Themes". Now click on the null theme to activate it.
  4. After activation you will be given the option to setup WordPress with a number of default settings. This is an optional step and should not be run if you have already setup WordPress how you like it.
  5. Visit "Appearance -> Theme Options" and configure the theme options to your liking.

Frequently Asked Questions

Which Open Source projects does null make use of?

Credits go to:

I will do my best to keep this updated as the framework develops - please let me know if I have missed you out.

Is there a child starter theme available?

Yes. It is called null-child.

What browsers does null support?

Currently null supports IE6+ and all modern browsers. By the time 1.0 launches support for IE6 and IE7 will most likely be removed.

Does null pass Theme-Check?

Not at the moment but it is close. Most of the errors and warnings are fairly minor. The plan is to improve this over time.


Please submit all bugs, questions and suggestions to the GitHub Issues queue.



  • IMPORTANT. Removed LESS compiler. You will need a standalone plugin for this now
  • IMPORTANT. Removed ACF. You will need a standalone version of ACF now
  • Options framework latest
  • WordPress 4.0+ fixes
  • Loads of other fixes and tweaks - see commit history

So this marks an end to the development of null. I am not doing much theme development these days so this feels like a good chance to wrap it up. If I was to put more time towards developing it there are still lots of improvements to be made, some things on my wish list included:

  • Switching from LESS, perhaps use Jetpack for compilation of styles
  • Removing .htaccess changes and relying on plugins instead
  • Reduce the number of template files in the parent theme to make child theming simpler
  • Introduce some basic styles for post formats and make the default theme a touch nicer to look at
  • Add support for RSS to the Windows tile spec and shortcuts to the jumplist based on the navigation
  • Provide an example home.php template for an interesting blog landing page
  • Move more theme options to the customiser
  • Improve theme accessibility
  • Continue to remove polyfills and third party code. Move post types and widgets out of theme
  • Improve the gallery shortcode
  • Building virtual page templates and grids for use on pages and custom post types


  • Fix notice is class-admin-menu.php
  • Update options framework to 1.6
  • Clean transients daily
  • Move product post type to null-child
  • Add Google fonts to options framework typography option
  • Remove WP App Store
  • Replace a handful of the_title() calls with the_title_attribute()
  • Remove all references to hgroup as it is no longer valid HTML5
  • Add filter so child themes can play with content_width
  • Set depth on WordPress menus
  • Change sidebar registration to use array keys
  • Do not cache menus (bad idea)
  • Options framework 1.7.1
  • Theme supports HTML5
  • ACF 4.3.2
  • WordPress 3.8 testing, dash icons and visual tweaks
  • Add composer.json
  • A few other minor things (see commit history)


  • Updated option framework to be compatible with new media uploader
  • New settings for Windows 8 pinned sites
  • Disabling comments now removes the comments menu
  • Updated Google Map shortcode due to changes in the Google API
  • Flush rewrite rules when saving theme options and altering the registered post types
  • Placeholder text is faded out on focus to improve usability (WebKit)
  • Use a hash of the settings to cache bust the CSS - better save performance using theme customiser
  • Filter for child themes to adjust cache bust variable and pass it into LESS to cache bust CSS images (handy for WPEngine)
  • Allow extension folders (widgets, post types, shortcodes) to be empty
  • Advanced Custom Fields and an option to disable/unload in theme options
  • Theme Hook Alliance Compatibility
  • Ensure of_get_option always has default options
  • Tested against WordPress 3.6
  • Remove last few instances create_function
  • Use core jQuery UI
  • Updated jQuery UI tabs/accordion shortcode due to changes in the API
  • Fix to header meta/RSS options
  • Remove performance options in favour of plugins
  • New static map shortcode [smap center="loc" size="WxH" zoom="14"]
  • New function null_mustache_tags() for passing variables in theme options
  • Filter for null_mustache_tags - register your own replacements
  • Remove table of contents code - child theme or plugin territory
  • Improvements to oEmebed (responsive container and options for default player colours and settings)
  • Force TinyMCE editor styles to refresh
  • Use editor styles when null is not used as a parent theme
  • Move null_less_vars to functions so variables are available in admin (for editor styles) and theme
  • Add TinyMCE classes drop down menu to the kitchen sink
  • Validate URLs within theme options
  • Remove the twitter widget due to twitter API changes
  • Remove related posts shortcode as it is not particularly useful and not a good approach
  • Add shortcode interface for TinyMCE
  • Remove QR shortcode as QR codes are 99% useless
  • Move less important shortcodes to null-child
  • New social profiles widget


  • Option (on by default) to encode email address in the content editor (tinymce)
  • Update retina media queries
  • Update Ligature Symbols
  • Fix small issue when child theme unsets custom header/background settings
  • Update some incorrect uses of site_url() for home_url()
  • Fixed Undefined index: WP_Widget_Recent_Comments in theme.php on line 169 when recent comments widget is disabled
  • WP App Store now bundled with the framework with option to unload
  • Bundled ACF lite when plugin is not available
  • No longer require any third party plugins (the nag has been removed), more plugins are recommended as compatible
  • Plugin compatibility layer added to better support third party plugins
  • Only include the comments_template() when comments are enabled
  • Update jQuery UI to 1.10.1
  • Update language mo/po files in both null and null-child
  • A few more functions can now be overwritten by the child theme
  • Added filter (null_excerpt) for excerpt more text - one filter will change all occurrences
  • Moved wp_footer() to a more appropriate theme location within footer.php
  • First and last classes on WordPress menus
  • Update .htaccess rules
  • A basic maintenance mode to allow working on your site in private
  • Update function null_user_posts_count()


  • Moved IE specific styles into a LESS file for simplicity
  • Track downloads and external links in analytics
  • Fixed small bug with search post_class
  • New deprecated functions file to handle code added to 3.5 and future code removals
  • current_url() function to return the full URL of the current page
  • Options framework updated to 1.4
  • Font options added with Google Fonts API integration
  • WordPress 3.5 compatibility
  • Embed widget shortcode
  • Removed IE6 polyfills - by the time v1.0 comes around all polyfills may be removed
  • HiDPI theme image
  • Improved compatibility with null-child theme


  • post_class classes moved away from the loops
  • Minor bug fix on update script
  • Tweak to remove attachment urls from inserted media


  • Automatic updating from Github


  • Uploaded to Github