A 3-Step Process for Adding Features to WordPress

This scenario happens every day. Your client calls and wants to add a feature to their WordPress website. Here are some technology they may ask for to give you an idea of the types of features they would like added:

  1. I want to have a pop up to tell customers about my sale. 
  2. I want to add internal page links and I want there to be a scroll animation to the place on the page. 
  3. I want a subtitle (in addition to the title) on each product (or post)
  4. I want to move my posts from another website to this website. 
  5. I want to have recipes on my website. 
  6. I’m concerned about how fast the website is and want to have a fast page-load time score with Google. 
  7. If my customers add something to the cart but don’t finish the purchase, I want to send them an email with a coupon code. (These are “Abandoned Carts”.)
  8. I am getting a lot of spam on my website and I want to improve security. 

What Do You Do? Follow this 3-Step Process for Adding Features to WordPress

How can you add the feature that your customer is requesting? Part of knowing how to solve these problems comes with experience. I would follow these three steps in order. 

Step 1. Is it possible to add the requested feature with the current theme and plugins? If that is the case, use those features. You need to understand your theme and plugins well so you don’t add unnecessary plugins.

Step 2. Can the feature be added with a plugin? If so, is there a plugin with a strong reputation? Each time you add a plugin to the website you increase the risk of website problems. These are called “plugin conflicts”. Because of this, you need to think through adding plugins and make sure it is worth it. If the client wants a silly feature that won’t really benefit the website, I try to talk them out of it, because of the risk of adding another plugin. 

Step 3. Can you find a PHP solution to the request? Many times you can search and find an easy solution that simply requires that you cut and paste some PHP into the functions.php file.

If none of these are possibilities, you are in the custom PHP development part of a project. The time it will take, costs of the project, and risks to the website will  now be much higher. In the vast majority of cases, you can find a solution without custom development. 

Since I support small businesses, my customers rarely have a budget that will allow for completely custom development. The good news is that because WordPress is so well established, it is rarely necessary to turn to custom PHP development.

Combatting Unrealistic Expectations

A photo of a flying pig representing unrealistic expectations.

Sometimes clients want a feature they have seen on another website. However, the cost of implementing it would be too high for the client. Here are a few examples:

  • I had a client who wanted to take orders for Custom T-Shirts. He wanted the customer to be able to see the t-shirt they designed as they were designing it. I found a paid plugin that could do it, but the plugin developer wanted several hundred dollars a month. This was outside of what the client was willing to pay. My custom development time for the same feature would have been much more expensive, but would have been a one-time cost. It would have been very difficult for me to make an accurate bid on the time it would take, since I haven’t done similar projects. 
  • I currently have a client who wants reporting that we can’t make work with the existing WooCommerce reporting plugins. (Normally free plugins would meet the need, but in this case the existing tools don’t have the fields created by a different plugin. ) I have done some custom PHP report development to meet their needs, but because they don’t have the budget for more they need to do more data analysis in a spreadsheet. 

Finding the Right Solution

When assisting a client with finding the right WordPress solution, always listen carefully to what they really want. They may ask for a very specific solution that would require custom development, but to solve their problem it may be more than adequate to find a plugin that solves their real problem.

Interested in Learning More?

Check out the WordPress Learning Program on WebDevStudents.com.