Choosing a starter theme for a WordPress-based website is the most important decision that affects every stage of the project implementation. A starter theme should be like a well-tailored suit: adapted to the scope of the project, with numerous, workflow-enhancing features, developer-friendly, and uncomplicated to streamline and speed up the website development process as much as possible.
And, of course, to make working with a client a pure pleasure. For both sides.
Over the years I have been developing WordPress projects, I have come across various approaches to creating custom themes: from the simplest ones suggested by CMS authors to the most advanced ones like SageRoots, Genesis, or Underscore.
An undeniable advantage of the latter ones is the clarity: from generally accessible documentation to the implementation of the project in an efficient process. For experienced developers, of course, the entry threshold is relatively low for projects that use the object-oriented approach and MVC. Less experienced developers can feel a bit lost, so there is a risk that small changes would take a lot of time and would not be implemented in a design-compliant manner.
At the other end are “simple” themes created following the WordPress documentation. Here, the entry threshold is low, as well as the necessary coding skills – the basics of HTML and PHP are quite enough. But there are some disadvantages as well. Due to the lack of rules and documentation, chaos can prevail, which can have a negative effect not only on the website’s security, but also on its performance, and, consequently, SEO position.
However, over the years, WLC developers have created solutions to problems encountered in projects. These solutions allow us to streamline the entire workflow of the WordPress website development and create a universal theme framework that is not only developer-friendly and flexible, but also versatile, and efficient.
Let me introduce you to Versa WP – Universal WordPress Starter Template and its features!
Friendliness of Versa WP – Universal WordPress Starter Template
The measure of the solution’s developer-friendliness is the time it takes a developer unfamiliar with the project to understand it. The idea behind the Starter Template is to divide the code that makes up the front end into three categories: Blocks, Components, and Views. And the same principle is always applied: only one element per object. Thus, it is an object-oriented implementation of the standard WordPress template mechanism.
An undeniable advantage of the Versa WP Starter Template is its clarity. As a rule, it takes only a little bit longer to find a desired element than to expand the file tree. Besides, the clear structure allows you to quickly create subsequent elements, without having to spend a long time dealing with extensive documentation.
The creation of individual view elements was inspired by hooks, the method known from Genesis, Storefront, WooCommerce, and WordPress in general. This allows you to significantly reduce the website development time and subsequent changes, as changes are made atomically – they apply to a specific element and not to the template.
- An online store built on WooCommerce with all products in the same unified view. However, it was decided to introduce a special product category with additional elements and a product view similar to a landing page view. In such a scenario, there is no need to create a separate view for a new product. All you need to do is to create additional elements that are visible only for this product.
- Another good example is the well-known problem with the website/post title, and the Hero block – a special block that contains, for example, a title, gallery, or graphic background. By adding this block to the website, the default website/post title can be automatically disabled, without having to code the hide button.
The theme also makes use of the Composer, which is used to automatically load classes with blocks, components, and views, among other things. So, adding more features to speed up the work is limited to knowing how to use the theme only.
Another advantage of the Item/Object approach, which allows us to avoid the problems encountered in Genesis, is efficiency.
Hooks are not executed globally as in the Genesis theme but in the view. This means that the creation of subsequent views will not affect the global performance of the website.
Example: The home page with a blog custom view.
Of course, this solution is not limited to elements, but also to attached styles and scripts, which – in the case of blocks – are loaded only when they are added to the website.
The use of an autoloader instead of the classic but outdated inclusion or get_template_part() is also important.
Finally, the block creation mechanism is worth mentioning. It allows you to reduce the number of steps to duplicate a class, and change the title, description, and, of course, the content.
It’s worth noting that:
- the template is coherent with WordPress coding standards
- it is compatible with WooCommerce and basically all non-page builder plugins
- it is compatible with Roots Bedrock.
- it has a configured Webpack with BrowserSync
- it is adjusted to work with WordPress FSE
Open-source WordPress theme framework – Versa WP in action!
The project objective was to develop a functional website, based on pre-existing graphic design in Figma, to serve as an informational platform for SELENA’s shareholders, customers, and partners. Given the client’s strict deadline, we utilized Versa WP to expedite the development process. See our case study WordPress corporate website based on WLC Starter Template for Selena – global leader and construction chemicals distributor
The Versa WP Starter Template repository can be found on our GitHub server at
We hope that it will be appreciated not only by the community of developers, but also by Digital Agencies that are always on the hunt for time, and for whom our Starter Template can be a great work relief.
Would you like to discuss the implemetation of your project?