Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchThe most straightforward way to build a new WordPress theme is to start with a block theme: create a uniquely named theme folder, add its required files, and build out the design with block templates and reusable parts. The minimum block-theme files are style.css, templates/index.html, and a theme configuration file; theme.json is the practical place to define global styles and editor settings. If you only need to change an existing theme, a child theme is usually the safer route than editing the parent theme.
Choose the right kind of theme before you start
A block theme is the recommended starting point for a new project that needs visual editing across the whole site. Block themes use blocks for areas such as the header, navigation, page content, and footer, and expose the Site Editor, Styles, Templates, and Template Parts. WordPress added block themes to its ecosystem in version 5.9.
A classic theme may be a better fit when you need extensive PHP-based control, must maintain compatibility with an existing classic codebase, or are extending a site already built around classic templates. The main difference is the editing and template model, not whether the theme can be customized.
| Decision | Block theme | Classic theme |
|---|---|---|
| Editing model | Site Editor and blocks across the site | PHP templates with the Customizer or traditional admin screens |
| Template format | HTML files containing block markup | PHP template files using the classic template hierarchy |
| Where global design settings live | theme.json, Styles, and block settings |
CSS, PHP, and theme supports; theme.json can also be used |
| Good fit | New builds that benefit from visual full-site editing and reusable block compositions | Legacy compatibility, extensive PHP control, or an existing classic codebase |
Block themes rely on the Site Editor rather than using the Customizer in the same way as classic themes. If you are modifying an existing theme rather than starting a new one, decide whether a child theme will better protect your changes.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- Used Book in Good Condition
Know which files make up a block theme
Start with this compact folder structure. The first three entries form the foundation; the remaining folders are where you add site regions and reusable design elements as the theme grows.
my-custom-theme/
├── style.css
├── theme.json
├── templates/
│ └── index.html
├── parts/
│ ├── header.html
│ └── footer.html
├── patterns/
└── styles/
| File or folder | Purpose | Required to recognize a block theme? |
|---|---|---|
style.css |
Holds the theme header metadata and can contain theme CSS. | Yes |
theme.json |
Defines global settings and styles, including options such as colors, typography, spacing, layout widths, and block-level style rules. | Not listed as the minimum recognition requirement, but it is the standard place to configure the design system. |
templates/index.html |
The required fallback block template. WordPress uses it to recognize a block theme. | Yes |
templates/ |
Contains templates for site views. Add files such as page.html, single.html, archive.html, or 404.html when the design needs them. |
The folder is needed for the required index.html. |
parts/ |
Contains reusable groups of blocks, commonly the header and footer. | No |
patterns/ |
Contains reusable block compositions that can be inserted into site content. | No |
styles/ |
Contains style variations for the theme. | No |
screenshot.png |
Provides a visual identifier for the theme in the theme browser when you distribute it. | No |
Block templates are made entirely of block markup. WordPress looks for them in the active theme’s /templates directory, with index.html serving as the minimum fallback. Keep each template focused on page structure, use parts for repeated site regions, and use patterns for insertable compositions.
Rank #2
Create the theme folder and required files
- Choose a unique theme slug. Create a folder such as
my-custom-theme. Use that exact folder name for the theme you install and maintain. - Add
style.css. Put the theme header metadata at the top so WordPress can identify it. For example:/* Theme Name: My Custom Theme Author: Your Name Description: A custom block theme for this site. Version: 1.0.0 */ - Add
theme.json. Use this file to set the theme’s global palette, typography presets, spacing, layout widths, and block styles instead of scattering those choices through ad-hoc CSS. The documented format version 3 was introduced in WordPress 6.6. Choose the format version appropriate to the WordPress versions you intend to support. - Create
templates/index.html. This is the minimum block template WordPress needs to recognize the theme. Build it from block markup and add other templates only where the site needs a distinct layout. - Add shared parts and reusable compositions. Create files under
parts/for shared areas such as the header and footer. Addpatterns/for reusable block compositions andstyles/for alternate style variations if your design calls for them.
Build the layout with templates, parts, and theme settings
Use templates for different site views
A template defines the structure for a type of view. Start with index.html, then add page.html, single.html, archive.html, 404.html, or a custom template when the corresponding view needs a different design. A template can place a template part before or after its main content area, so shared site structure stays separate from view-specific structure.
Put site-wide regions in template parts
Template parts are reusable groups of blocks. A header part is the right place for recurring branding and navigation; a footer part can hold recurring footer content. When you edit blocks inside a part, WordPress updates that part wherever it is included, so you do not have to maintain a separate copy in every template.
Rank #3
Use theme.json for a coherent design system
Set the choices you want available to the editor and reflected on the front end in theme.json. This is where to define shared colors, typography and spacing presets, layout widths, and block-specific style rules. Keeping those choices together makes the theme easier to adjust consistently than relying on unrelated CSS overrides.
Preview and install the theme
- Preview in the Site Editor. In the WordPress dashboard, open Appearance > Editor. Use the editor to inspect the layout and make design adjustments while you build.
- Keep lasting design decisions in the theme files. Use the Site Editor for layout and content-area work, then put design choices you need to preserve, version, or distribute in the theme files.
- Package the theme folder. Create a ZIP archive of the theme folder, keeping its files inside the folder rather than placing loose files at the archive root.
- Upload and activate it. In the dashboard, go to Appearance > Themes > Add New > Upload Theme, select the ZIP, install the theme, and activate it.
Include a screenshot.png in the theme folder when distributing it so people can identify the design in the theme browser.
Rank #4
- Used Book in Good Condition
Use a child theme when you are extending an existing theme
A child theme is designed to extend a parent theme while retaining the parent theme’s update path. Use one when you need selected overrides or additions: a child can supply a file with the same name to override a parent file, or add files of its own. This is different from building a new, independent theme: for a new block theme, a child theme is optional and is often unnecessary for styling because theme.json handles that work.
If you edit the parent theme’s own files, those edits are part of the parent rather than a separate child-theme layer. For customizations you need to preserve while updating an existing parent, put the intended overrides in a child theme instead.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

