Overall, WordPress sports a fairly user-friendly UI for content editors. Sure, it can be a bit messy at times. But most basic tasks are easy enough for users to pick up on.
For developers, the advent of plugins like the ubiquitous Advanced Custom Fields (ACF) provide a powerful set of tools to tweak the WordPress UI even further. The goal of adding custom fields is to make things easier for users to edit content.
Instead of leaving users with the big empty box of the standard content editor, we can provide sets of fields that make adding, editing and organizing content a more efficient experience.
Personally, I’ve come to the point where most websites I build have some custom fields integrated into the UI. I see it as a way to:
- Make content editing less ambiguous; everything is spelled out and (hopefully) as obvious as possible to the user.
- Protect delicate front-end layouts (to a degree) by only allowing certain types/amounts of content within custom fields.
- Provide a major selling-point to prospective clients; they’ll know that they’re not just getting the standard WordPress install, they’re getting a back-end that is tailored to their specific needs.
Custom fields have become a game-changing feature for WordPress developers. Still, are there times when we shouldn’t use them?
Awesome isn’t easy
Like all of the things I love (pizza, soda & television) there can be a point where there’s just too much of a good thing. Just like our non work-related vices, we can go just as overboard with custom fields.
There have been times when I’ve found myself doing this during projects. I’ll want to customize something just because I can.
For example, one of my favorite uses of custom fields is creating an ACF Repeater field set that would allow users to easily update their Staff page. I might create fields for a staff member’s name, photo, title, phone, email and biography. The user can then add, remove or reorganize the staff members to fit their needs. Pretty cool, right?
It’s definitely a nice setup for the right project. But, I’ve found myself wanting to do this for companies with only one or two staff members. Is it really the best use of my time or the client’s resources? Maybe not.
Sometimes, we need to look at our projects and scrutinize the need for such features. So, when you’re thinking about adding custom fields (or any other back-end feature really), think about the following criteria:
Does it make updating easier?
As plain (and ripe for trouble) as the standard content editor is, it still is quite useful. For less specialized content, custom fields might even make things more difficult for some users.
Does it fit your project’s timeline and budget?
As easy as plugins like ACF make creating stunning sets of custom fields, there can still be a lot of extra effort involved in implementing them. If you’re under a tight deadline and/or budget, that extra effort is something to consider.
How flexible will it be for future changes?
Have you ever setup a complicated feature for a client, only to have them scrap it a few months later? In some cases you may want to have a real heart-to-heart talk with your client about what their needs and expectations will be down the road. Maybe it turns out that intricate setup of custom fields isn’t the best fit.
Is there a plugin that does the same thing?
As cool as it is to create your own fields for a Testimonial section, there are a ton of plugins that can do the same thing. They might even have features you haven’t thought of or are reasonable for you to implement. As the old saying goes: don’t re-invent the wheel.
A delicate balance
Custom fields, like other bells and whistles in web development, need to be carefully considered before you decide to implement them. Think of them like your favorite spice: add too much and you’ll get a bad taste in your mouth. Adding just the right amount can make for a great user experience. It’s always best to think through the needs of the project before going hog-wild!