Technology moves fast! ⚡ Don't get left behind.🚶 Subscribe to our mailing list to keep up with latest and greatest in open source projects! 🏆

Subscribe to our mailing list


A collection of patterns for creating a custom starter WordPress theme.

Subscribe to updates I use theme-components

Statistics on theme-components

Number of watchers on Github 405
Number of open issues 61
Average time to close an issue about 1 month
Main language CSS
Average time to merge a PR about 20 hours
Open pull requests 41+
Closed pull requests 4+
Last commit almost 2 years ago
Repo Created over 4 years ago
Repo Last Updated over 1 year ago
Size 478 KB
Homepage http://components...
Organization / Authorautomattic
Page Updated
Do you use theme-components? Leave a review!
View open issues (61)
View theme-components activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating theme-components for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


beautiful screenshot

This project is retired, and not maintained. Please see this blog post for more information or head over to Underscores for all your starter theme needs. Thank you to all of the contributors to the project!

A library of shareable, reusable patterns for WordPress themes. Components allows you to generate different types of starter themes for taking your themes where you want them to go, faster.

This repository contains theme components all the pieces of code that go into making a theme. The code that runs the Components site and generates the starter themes lives in a different repo.

Forked from _s, Components creates a modular, pattern-based approach to theme development. For more information, read the wiki or this introductory post on ThemeShaper.

Using Components

You'll notice this repository can't be activated and run as a WordPress theme. It's just the pieces for a theme. The best way to use it on your next project is to not download it directly from Github, but head over to the Components site, fill out the form and generate the theme of your choice. The generator does all the hard work so you can get to theming!

Developing for Components

If you want to start contributing to Components, we're happy to have you! Keep in mind, Components has two major repositories, plus a special development plugin that helps you contribute to the project:

  • Components: That's this one. It contains all the components or pieces that make up the themes.
  • Components site: This contains the WordPress theme that runs the site for Components, and the generator that performs all the magic starter-theme generation.
  • Components Local Development: A plugin that enables testing a local copy of Components on a local copy of

To start developing, follow these steps:

  1. Place a local copy of Components in the root of your WordPress install. It should be named theme-components.
  2. Upload the theme-components-local-dev directory to the /wp-content/plugins/ directory.
  3. Make sure you have the Components site theme active, and the latest master branch running.
  4. Activate the plugin through the Plugins menu in WordPress.

From there, you can make changes to the local copy of Components in the root of your WordPress install, and the themes you create from your local WordPress install will reflect any changes you've made. You can test and commit code to the project. Just dont forget to check out our CONTRIBUTING doc it includes a few details that will make the process a lot smoother.


Need to report a security vulnerability? Go to or directly to our security-bug-bounty site

Browser Support

We support the latest two versions of all major browsers, except Internet Explorer, where we currently support 11 and Edge. (see Browse Happy for current latest versions).


If you have any problems using Components, please see the most common issues here.


License: GNU General Public License v2 or later License URI:

theme-components open issues Ask a question     (View All Issues)
  • over 2 years Magazine theme is bare
  • over 2 years Add slide-in menu
  • over 2 years Periods in File Header
  • almost 3 years Re-organize Sass file structure to match /components directory
  • almost 3 years Modern blog: featured image on single posts and pages
  • about 3 years Recommended bundling of third party assets?
  • about 3 years Remove commented out layout sass
  • about 3 years Add Menu Slide-In Hidden
  • over 3 years Add Menu Sidebar
  • over 3 years Add Menu Classic
  • over 3 years Add Menu Description
  • over 3 years Add Featured Content Slider
  • over 3 years Add Featured Content Post
  • over 3 years Add Featured Content Grid
  • over 3 years Add Featured Content
  • over 3 years Add Content Post Navigation with Background Image
  • over 3 years Add Content Author Bio
  • over 3 years Add Social Menu
  • over 3 years Add Footer Widget Area
  • over 3 years Add Footer Bottom Secondary Menu
  • over 3 years Add Footer Bottom Text
  • over 3 years Add Custom Header Featured Image
  • over 3 years Add Custom Header Background Image
  • over 3 years Add Custom Header Standard Image
  • over 3 years Add Header Search Form
  • over 3 years Add Header Top Secondary Menu
  • over 3 years Add Header Top Text
  • over 3 years Create a browseable interface to see all of the components
  • over 3 years We need tests
  • almost 4 years Slide-out widget panel
theme-components open pull requests (View All Pulls)
  • Fix theme_location
  • slug is incorrect for content-testimonials
  • Issue #201 fixing template part slug
  • Components social menu
  • unnecessary spacing removed on custom-header.php
  • Add post styles from _s.
  • Updated .gitignore file to include additional ignored resources.
  • Fixed Top Menu Location
  • Matching esc_html__ translations
  • Classic blog: use correct package headers.
  • rename testimonial archive file name
  • strict comparison for get_post_type()
  • Adding styles
  • Add theme support for print styles
  • Following better naming practices for page templates.
  • Master
  • Use core's Custom Logo rather than Jetpack Site Logo.
  • Adds three-column layout functionality to Magazine type.
  • Menu ID name change
  • Menu text with icon
  • Single-column fallback
  • Change menu ID to menu-1 to follow our new standards
  • Use core's Custom Logo rather than Jetpack Site Logo. See #277
  • Correct overly-aggressive default margins on figure elements.
  • update/ add end comment tags
  • correct class name in end comment tags
  • Rename size variables for consistency with other variables.
  • Single column layout on mobile
  • Remove Period From File Header
  • Automattic url http to https #321
  • Remove deprecated constant HEADER_TEXTCOLOR
  • Update Normalize site link
  • Add License
  • Fix Bug: Update the copyright
  • doctype change uppercase to lowercase
  • Fix typo and update link
  • Automattic url with https
  • Update Normalize site link
  • Update copyright
  • Fix 332 sliding panel theme location
  • Use the_tags() rather than get_the_tag_list()
theme-components questions on Stackoverflow (View All Questions)
  • how to modify theme components?
  • Install Wordpress Theme Components on Demand
theme-components list of languages used
Other projects in CSS