
TL;DR — For agency WordPress theme development in 2026, the Underscores (_s) starter theme remains the best classic-theme foundation. Agency best practices: (1) generate a fresh _s theme via underscores.me for each project (don’t reuse), (2) set up a Sass + Gulp/Vite build pipeline from day one, (3) structure SCSS in components/, layouts/, base/ folders, (4) add theme.json for global block editor styles, (5) register ACF blocks for client-editable content sections, (6) ensure WCAG 2.1 AA accessibility baseline, (7) use child themes for client-side customization only (not for primary theme work). Skip _s only if the project specifically needs Full Site Editing — then start from Frost or a custom block theme.
Leveraging Underscores for Efficient WordPress Theme Development
When it comes to building custom WordPress themes, using a starter theme can significantly streamline the process. One of the most popular and versatile starter themes is Underscores, provided by Automattic. Here’s how you can leverage Underscores to develop high-quality, efficient WordPress themes, along with best practices from the experts at Belov Digital Agency.
Setting Up Your Development Environment
Before diving into theme development, it’s crucial to set up a robust development environment. This involves installing WordPress locally using tools like Local by WP Engine or XAMPP. These tools allow you to test and develop your theme without affecting a live site[2][5].
Choosing and Installing Underscores
Underscores is a widely used starter theme that provides a solid foundation for customization. Here’s how you can get started:
- Visit the Underscores homepage and generate a customized version of the theme.
- Fill out the details such as theme name and author name.
- If you prefer to use Sass, check the “_sassify!” option.
- Download the generated zip file and install it on your local WordPress setup[3][5].
Creating Essential Files for Your Theme
Step 1: Create the Style.css File
The style.css file is crucial as it contains the theme’s metadata and styling. Here’s an example of what the top of your style.css file might look like:
/*
Theme Name: My Custom Theme
Theme URI: https://example.com
Version: 1.0
Author: Your Name
Author URI: https://yourwebsite.com
*/
This file will also include your custom CSS to style your theme[2].
Step 2: Create Template Files
Template files such as header.php, index.php, sidebar.php, and footer.php dictate the layout and display of content on your website. You can customize these files to adjust the layout and design according to your vision. For example, you can use the WordPress template hierarchy to create custom templates for specific pages or post types[3].
Utilizing Cutting-Edge Technologies
HTML5, CSS3, and JavaScript
Ensure your theme is built using HTML5, CSS3, and JavaScript. These technologies can enhance performance, user experience, and functionality. For instance, CSS preprocessors like Sass and Less can make your CSS code more organized and maintainable[1][4].
JavaScript Frameworks
JavaScript frameworks such as React and Vue.js can help create more dynamic and interactive themes. These frameworks provide tools for building user interfaces, handling state, and managing data[1].
Using the WordPress API
Use WordPress Functions
WordPress provides a wide range of functions to help with theme development. Examples include get_header(), get_footer(), and wp_head(). These functions make it easier to create themes and provide a consistent user experience[1].
Use Conditional Tags
Conditional tags help determine the context in which a template is used. They enable themes to create custom templates for specific pages, posts, or categories. Examples include is_home(), is_single(), and is_category()[1].
Use Hooks and Filters
Hooks and filters are powerful tools that allow developers to modify and extend the functionality of WordPress themes without directly modifying their code. Hooks enable you to execute custom code at specific points in the WordPress theme or plugin execution process, while filters allow you to modify data before it is outputted to the user[1][4].
Optimizing Your Theme
Responsive Design and Accessibility
Ensure your theme is responsive and accessible. With the increasing use of mobile devices, a responsive design is crucial. Follow web accessibility guidelines and test your theme with screen readers and keyboard navigation[4].
Performance Optimization
Optimize your theme’s performance by minifying CSS and JavaScript, using a Content Delivery Network (CDN) like Cloudflare, and compressing images. You can also use caching and lazy loading images to minimize HTTP requests[4].
Testing and Deployment
Use Theme Unit Test Data
Use tools like the Theme Unit Test Data to verify smooth functionality. Ensure your theme adheres to the WordPress Codex guidelines to guarantee a high-quality, user-friendly design[3].
Prepare for Deployment
Once your theme has been tested and verified, prepare it for deployment. Compress the entire theme folder into a zip file, which can then be easily distributed or installed on other WordPress sites[3].
Conclusion and Next Steps
Creating a custom WordPress theme with Underscores involves several steps, from setting up your development environment to optimizing and deploying your theme. By following these best practices and leveraging the latest technologies, you can build a theme that is both efficient and user-friendly.
If you need professional assistance in developing your custom WordPress theme, consider reaching out to Belov Digital Agency. Our team of experts can help you create a theme that meets your specific needs and ensures a seamless user experience.
For hosting your WordPress site, consider using a reliable service like Kinsta, which offers high-performance hosting solutions tailored for WordPress.
By combining these steps with continuous learning and adherence to best practices, you’ll be well on your way to creating a custom WordPress theme that stands out and serves your audience effectively. Happy coding!
Need a senior WordPress team?
Belov Digital is a US WordPress agency with 12+ years and 2,600+ projects shipped. We work with US, Canadian, UK and Australian clients on retainers and project builds. See our WordPress services →
Follow-up questions we get on this topic
-
Is Underscores still actively maintained in 2026?
Not really. The official _s repo on GitHub gets occasional updates but no significant new features since 2023. The community fork at github.com/Automattic/_s is more active. For 2026 production work, treat Underscores as a stable but frozen baseline — don’t expect new features.
-
Should I use Underscores or Sage by Roots?
Underscores: minimal, simple, no build tooling. Best for small theme projects or teams without Node.js comfort. Sage: opinionated, comes with Tailwind, Blade templates, Vite. Best for larger projects with a full-time dev team. Both are valid in 2026 — pick by team skill, not by hype.
-
How do I add Tailwind CSS to an Underscores theme?
Install Tailwind via npm in your theme folder, configure tailwind.config.js to scan your PHP files (`content: [“./*.php”, “./template-parts/**/*.php”]`), set up a build step (Vite or just `tailwindcss -i input.css -o style.css –watch`), and enqueue the compiled CSS. Takes ~20 minutes the first time.
-
What about converting Underscores to a block theme?
Possible but rarely worth the effort. Block themes require theme.json + block templates + a different mental model. If you need FSE, start from a block-theme starter (Twenty Twenty-Four, Blockbase, Frost) instead of converting. We’ve done a few conversions for clients with edge cases — each took 80-120 hours.
-
Can Underscores work with Full Site Editing (FSE)?
Partially. Underscores can opt into theme.json for design tokens and use individual blocks in template files via `the_block_template_part`. Full FSE (block templates instead of PHP templates) requires a block theme — you cannot mix classical Underscores PHP templates with FSE block templates cleanly.
