Before putting them into a project, you should learn WordPress plugins—what they do, how they do it, and what you can do with them.
“The Problem with Gravity Forms”
I answered a call on Clarity where the person was frustrated. They explained that there was a “problem with Gravity Forms.” When I asked what the problem was, they explained that they were using a form to create custom post type entries. They would then display those on the site. And later, when a person went back to edit the form, it didn't update the custom post type.
I explained that the plugin and the extension that I knew of that helped them create posts didn't automatically allow them to edit and refresh those posts. It's a known dynamic and one I'd written about.
My advice was to look at some alternatives. But they couldn't.
I wondered why and asked them.
“Because I'm almost completely done with this project and now I don't know how to fix this but I can't afford to recode everything I've done just because this plugin has an issue.”
“The Problem with WooCommerce”
I answered a call on Clarity where the person was frustrated. A different person. They explained that there was a “problem with WooCommerce.” When I asked what the problem was, they explained that they were developing a membership site with protected pages. Those pages were displaying videos. But people were downloading the videos or screen-grabbing them and then quitting. And further, they were spinning up competitive sites with the same material.
I explained that the issue wasn't WooCommerce. It was something, again, that I'd written about and highlighted that there were a couple of things they could try but that fundamentally, they weren't going to find a simple setting in WooCommerce that they could click on to make that impossible.
My advice was to look at some alternative hosting that had fancier protection and then integrate it with the WooCommerce site's templates. But they couldn't.
I wondered why and asked them.
“Because I'm almost completely done with this project and now I don't know how to fix this but I can't afford to recode everything I've done just because this plugin has an issue.”
“The Problem with OptinMonster”
I answered a call on Clarity where the person was frustrated. A completely different person. They explained that there was a “problem with OptinMonster.” When I asked what the problem was, they explained that they were coding a mommy blog with a sidebar of ads. They wanted people who weren't subscribed to see an optin widget but if they were subscribed, they should only see ads.
I explained that the issue wasn't OptinMonster. It was something they'd have to code. It wouldn't be hard to do a bit of conditional code but they might want to use a cookie. They said they couldn't do that because they didn't write code. They just wanted OptinMonster to do it for them.
I suggested that maybe they hire someone to write a bit of code for them. But, you guessed it, they couldn't.
“Because I'm almost completely done with this project and now I don't know how to fix this but I can't afford to hire someone to code this stuff just because this plugin has an issue.”
My advice to site owners hiring developers
These calls I get happen way too frequently for me to think they're unique to just me. My guess is that many of you are hiring eager people who want to help you with your site, and give you all the features you want.
But their eagerness doesn't mean they actually know what they're doing or have experience with the plugins they're going to use.
So my advice to you is simply this: ask them.
Here's how: “For the features I've explained, have you done this already? Do you know which plugins you'd use? Have you used them before to get this effect?”
That's it. Listen for the answer. You don't have to be technical to determine if the person on the other end of the line (or email) is telling you the truth or not.
Listen for confidence and experience.
My advice to developers working on client projects
My advice for developers and site builders and site configurators and everyone in-between is also pretty simple.
Learn WordPress plugins before you use them.
I can't tell you the number of times (but I bet WP Engine can) I've spun up a site simply for the purposes of testing a plugin to see what it gives me, what I can do with it, how it works, what features are available and all that. Then I can talk intelligently about a plugin instead of just hoping it all works out.
Yes, every project for a client has one little part that may be a stretch for you. That's how everyone learns. But most clients don't want to have you learn everything on the job. They're paying you after all. And if you've proposed a solution with a plugin that won't actually get you where you want to go, you'll end up between a rock and a hard place later on.
No one wants to see your Facebook group or LinkedIn group question, “Has anyone seen this problem with this plugin?” when the reality is that it's not the plugin's fault.
Yes, plugins have bugs. But they also have a stipulated set of features—not based on your hopes and project needs.
Bonus advice: Rating the plugin poorly won't suddenly get you the feature you need for a project you're hip deep in.
Learn WordPress plugins early
There are constant releases of plugins—from new plugins showing up like WP Forms, to updates like the recent one from Beaver Builder.
My advice for most people is to buy and/or download the latest versions and play. Get comfortable—at least with the known plugins you're likely to use in the next several months.
You can't test everything. So that random rating plugin may not be something you keep up with, but the good stuff should stay high on your radar.
The more you learn, the less will surprise you in the middle of a client project.