As an advanced WordPress developer I am able to utilize all of the core features of WordPress to provide highly dynamic and fully custom WordPress themes.
A truly advanced user will have command over all the following features.
- Custom Site Themes
- Custom AMP Themes
- Custom Gutenberg Blocks
- Theme Customizer
- Theme Templates
- Custom Post Types & Taxonomies
- Meta Boxes
- Actions & Filters
Fully Custom WordPress Themes
I learned to build a custom WordPress themes BEFORE I had ever visited WordPress.com (their hosted sites) or installed a free or commercial theme. 10 years ago I watched a mentor build two sites, hit the docs, and built my first site in 3 weeks.
I find custom theme development to be EASIER and more efficient for the developer and user than using free or commercial themes. Users inevitably want to customize themes and developers then struggle to work against a theme's structure to make that happen. And overuse of plugins most often exacerbates that problem.
Building custom themes requires a number of skills.
- Strong skill with HTML/CSS and responsive layout
- Comfort implementing and customizing scripts
- PHP for conditional logic
- Knowledge of the many features and limitations of WordPress
- A solid understanding of UI best practices.
Custom AMP Themes
I spent a few weeks digging into the AMP documentation and learned how to build custom AMP themes. The client was high profile and so we got to speak to the head of AMP in Germany about our implementation. He was impressed and joked about hiring us.
While the official AMP plugin provides your content a clean looking appearance, this just isn't adequate for those concerned with extending engagement and brand identity. In order to really take advantage of AMP, it's important to add the following features.
- Fixed header / footer with conversion elements
- Website logo
- Site navigation
- Matching content formatting
- Responsive behaviors
Custom Gutenberg Blocks
The Gutenberg Blocks text editor for WordPress is a powerful tool that is fairly well documented, but very much a work in progress. Over a few weeks, I got through most of the documentation in order to implement custom content formatting.
In building a content strategy for my previous employer, I wanted to make the content pipeline as efficient as possible. The Blocks editor allowed us to move content formatting from the development team to the writing team. The benefits were numerous.
- Individual responsibility for content production (except for editing)
- Limitation of bottlenecks on rapid delivery
- No HTML use, greatly reducing the learning curve
- The adoption of a 'write for the formatting' approach
WordPress Theme Customizer
The WordPress Customizer is a core feature that is widely underutilized. The Customizer allows developers to create custom settings in the WordPress Admin Dashboard for a site's appearance and content.
Customizer settings allow the user to manage elements of their website without the need for a developer, saving them money. And it allows them to preview those changes in real-time before publishing them. This provides a number of options.
- Control over frequently changing promotional elements
- Easy A/B testing of promotional elements
- Seasonal theme variation
WordPress makes it rather easy for developers to create custom page and taxonomy templates. But many users don't take full advantage of the benefits this has to offer.
Custom page templates can be used to create landing pages for marketing or simply to diversify the appearance of pages on a site. Custom taxonomy templates allow you to display post categories with differing appearance. And single posts can also vary based on their category.
Custom Post Types & Taxonomies
WordPress allows you to create custom post types and taxonomies that you can use to feed information to dynamic elements of a site. You might have a post type for reviews to display in the sidebar. Or you might want a post category to have unique settings for meta content.
These options are central among others above that allow developers to give control over content to the user. While rarely beneficial, tt is possible for every element of a website to be editable in the Admin Dashboard.
While not in the WordPress core, Meta boxes are one of the most common features used to make a site's content dynamic. Replacing custom fields, meta boxes are editable fields that can be added to any post, page, or category editor.
You might have a custom post type for products and want to display the price for each. You might have a staff page, where each employee is a post and you have meta boxes available to add links to their social media. The possibilities are endless.
Don't do it! While there are a number of essential plugins I use for every site, including SEO, security, and caching, in general I have learned that it's best to use plugins only when it's not feasible to quickly implement a code based solution.
WordPress plugins are most often heavily bloated with code added to provide features many may not use and needed to make them cross browser and backward compatible to older versions of WordPress. For this reason I generally avoid using plugins wherever possible.
Actions & Filters
WordPress allows a developer to inject code into any part of WordPress structure, such as the head of the site, or before or after a feature like comments, without modifying the core codebase. You can also filter content to dynamically change it.
You might use a hook to add a warning about disallowed behavior above your comment submission form. Or you could use a hook to load an entirely custom comment template.
You might add a filter to replace specific link with another in your page content. Or you may use a filter to dynamically add content to a core feature of WordPress based on conditional logic.
I don't generally find many uses for actions and filters. But it's important to know how they work and be ready to use them.