It's so common and familiar for WordPress users to simply choose a ready-made theme and use it for their site without any changes. Of course, themes are selected both from the web and from the official WP repository. But some developers just as easily create their own themes using a variety of tools, methods, and approaches. Some of these are simple and basic — like editing colors or fonts in the theme’s CSS file. Others are more complex. But in any case, when it comes to choosing and using a theme, it becomes clear that the variations and interest involved are no less than in working with CMS security. Moreover, it's helpful to remember how a theme actually works and why sometimes, after modifying CSS, changes don't appear on the site’s pages.

In this article, we’ll look at various aspects of working with WP themes and also focus on a few things regarding frameworks. No, we won’t explore Redux ( not to be confused with the JS framework ) in detail, but its alternatives might be quite interesting.

Basics in a Nutshell

WordPress was initially designed as a blog engine or a simple blogging-focused content management system. It was first released in 2003 and its user base has only continued to grow since then. WordPress is a PHP web application that uses MySQL as a database and typically runs on NGINX or Apache servers. Familiar, but important. Because… essentially, WP is just a bunch of PHP files working together as an application. The PHP interpreter uses these files to generate web pages for site visitors. It outputs HTML, to be more precise.

The role of templates in WordPress is to provide instructions on how pages should be structured, styled, and what content they should contain. These instructions are stored in themes. Each theme consists of a folder containing PHP, CSS, and sometimes JavaScript files. The minimum required files for a WordPress theme are style.css and index.php. That’s the bare minimum, so don’t expect any advanced features or animations — typically, there are many more files to define the header, footer, sidebar, category templates, and so on.

And of course, the first thing beginners usually do is use a regular theme — it provides a solid foundation and saves you from having to code from scratch. But if you're interested in creating your own, starter themes become highly useful. These themes help you understand how the CMS works — its structure, hierarchy, and more. Among great starter themes are Underscores, FoundationPress, and UnderStrap. In other words: you can either understand the CMS or just use it. The former is better for many reasons, but the latter also has its advantages.

Starter Themes

A starter theme is essentially a skeleton or empty WP theme that includes only the basic structure. This means the theme has some foundational functionality but offers no settings or visual customization options. If you install a theme from the WP repository, it typically has a minimal settings panel. You can even buy a Pro version or edit the files yourself. In the case of starter themes — you get absolutely nothing out of the box. But that’s exactly what makes it such a great starting point for building a unique theme.

There are several options when choosing a starter theme — especially if you want to expand and evolve your creation. The most popular one is Underscores, a project maintained by Automattic (the creators of WordPress.com, WooCommerce, Jetpack, and more), and it serves as the base for many of the default themes in WP. The second most popular is FoundationPress by Zurb. Also worth noting is HTML5 Blank, which offers a solid and well-documented code base for theme development.

Underscores

This theme likely offers the simplest and easiest start. You just fill out a form with your theme name and author info — and a ZIP archive is generated for you. A big plus is that you can even create a WooCommerce-ready theme — meaning templates for carts, checkout, and other e-commerce pages will be generated.

The ready-made theme includes a lot of templates and sections for custom layouts and JavaScript elements. That means the structure is already prepared, as are the template files — containing minimal PHP tags and comments. You can start modifying them right away, changing what you need and deleting what you don’t.

Naturally, this saves a lot of time — you don’t have to manually create each template file. It’s quick and convenient. There’s no need to write the same boilerplate code for footer.php, style.css, index.php, header.php every single time. Especially helpful if your starter theme comes with multiple layouts that are easy to configure and choose from.

But if you want truly unique themes and need to manage every script and element — starter themes may not be your best option. In that case, a more custom approach is required.

Theme Frameworks

Just like CSS, JavaScript, or PHP frameworks (which we’ve discussed previously), theme frameworks provide a standard set of tools developers can use when building custom themes. Frameworks come with some defaults, which makes theme development easier and faster. In particular, many WordPress theme frameworks include a standard set of features:

Additionally, WP frameworks often include their own extra perks. They’re clearly designed to speed up and simplify theme creation. Of course, this also means you’ll have less control compared to building from scratch — but depending on your needs and skill level, frameworks can be a great help for beginners.

Interestingly, few people fully understand why frameworks are used and even paid for (many have premium versions). Often, branding plays a big role. No, we won’t dive into marketing, but the point is this: when building a serious and unique project, it’s not always easy to take an existing theme and customize it. Frameworks, however, let you build truly original solutions. For example, here are two different sites. Visually, their themes look different, but both are based on the same framework — created by StudioPress: superheroteachertoolkit and owner.

Genesis

There are quite a few WordPress theme frameworks out there, but one of the most popular is Genesis by StudioPress. It’s not free, but it includes features like custom page templates, multiple layout options, and full support for Gutenberg (yes — the new WP editor).

Divi

Another strong premium option is Divi by Elegant Themes. This framework includes design elements that can be edited in real time. You get customizable layouts and templates, drag-and-drop components, visual editing — all in one. Overall, Divi is a page builder disguised as a theme editor, allowing you to export settings and build a site in just minutes. Well — “minutes” depending on how long it takes you to drag things around and experiment.

Gantry

Among free frameworks, one worth mentioning is Gantry. It’s a very friendly and reliable theme framework that can be used not only with WordPress. Created by RocketTheme, Gantry is essentially a collection of custom extensions and layout templates used in Joomla, WordPress, and GravCMS.

What makes it special? Gantry lets you create powerful UI themes. It also has many prebuilt templates and skins, along with a visual editing interface, which makes life easier for non-coders.

Final Thoughts

We’ve taken a short tour through ways to modify and create custom WordPress themes — without relying solely on editing existing sets. Of course, the easiest way is to create a child theme that includes just a few files to override certain aspects of a parent theme. This is handy when you want to explore the structure in detail and adapt it to your needs without reinventing the wheel.

A more ambitious approach is to code a theme from scratch. We’ve only touched on that topic here by looking at frameworks that help. We won’t go too deep — yet. But it’s clear that frameworks are a great way to speed up custom theme development.

In a way, this brings us full circle in web development — many of these frameworks use drag-and-drop and WYSIWYG tools that require little technical knowledge. Kind of like the good old days of Dreamweaver: you draw a table, place an image, drag to resize, and so on. Maybe this is the most convenient way to create a theme and design a site — especially if you don’t want to dive into code.

Still, whether to use frameworks, how to configure themes, and what approach to take — that’s up to the developer. Different goals require different solutions.