WordPress and streamlining development for freelancers
When I first began freelancing, I was still feeling my way around WordPress. Not just core, but also the whole ecosystem of plugins and themes, and perhaps most importantly, development practices. I used those early projects to learn, which is fine so long as everything is delivered on time and works the way its supposed to.
But it soon occurred to me that by and large, I was really faced with the same types of problems over and over again. You need to be able to quickly adjust templates to your layout needs, you probably need to add custom fields and maybe custom post types. All sites need security and backup utilities, and almost all sites require some way for users to contact the business owner or blog owner.
I slowly settled on a familiar, useful tool set that I used over and over again. I use the Beans Framework for all my theming. Beans is lightweight, clean and really flexible. It uses its own API for adding, removing, or moving HTML elements, meaning you can theme from scratch if you want, or you can use the basic templates and simply make adjustments using the functions.php file. In addition, it integrates UI Kit and LESS, so you end up with a versatile and up-to-date tool-set for theming.
I always install Advanced Custom Fields. Between ACFs and the Beans API, I can make short of work of almost any layout challenge, and keep content and presentation logic separate.
Gutenberg has kind of complicated that for me. Not in a bad way, in fact doing layout in Gutenberg is fast and pretty intuitive. I guess a part of me stops mid-edit and thinks “Is this presentation or is this content?” Maybe the distinction is becoming less important. The coolest thing about Gutenberg (and I’m sure was one of the main value props) is that being able to move aspects of layout in the normal page or post editor means its even easier for clients to take over not just content, but elements of presentation as well.
After that, you get the usual stuff; WordFence for security, Updraft for backups, my own Google analytics plugin, and Contact Forms 7 for forms. Being familiar with the configuration and use of all of these plugins means moving faster and being able to deliver projects with the necessary bells and whistles on time.
If you have a project you need some help with, let me know!