Planning a Perfect WordPress Forms Plugin

These days, WordPress powered sites ranges from simple static websites to complex dynamic web applications. WordPress offers great built-in features for providing content for users, allowing the site owners to publish dynamic content from the back end. Getting users to interact with the website is another vital aspect of building successful websites. Therefore, we need ways to let users interact with the site. WordPress forms plugins are the standout solution for retrieving dynamic content from users.

In this article, we are going to talk about how forms plugins fit into WordPress and how you can build the perfect forms plugins as a developer. So this article is intended for users who are planning to improve their WordPress site with dynamic content as well as for developers who want to build a perfect forms plugin for maximum profits.

Let’s get started.

What is a Forms Plugin?

In simple terms, forms plugins lets you create dynamic forms to be embedded in the front end of your site. Once enabled, users have the ability to populate forms with dynamic content and submit them to the site administrator. As an authorized user, you have the ability to see all the data provided by users. Generally, site owners with less technical knowledge will find these plugins very useful as they can create advanced features without worrying about programming or technical stuff.

WordPress forms plugins break the barrier in creating advanced data retrieval techniques for non-technical users.

Now you might have a very basic understanding about a forms plugin and its role. Let’s dig deeper into the concept of forms plugin by looking at some of the most popular forms plugins for WordPress.

WordPress Forms Plugins

There are a substantial number of WordPress forms plugins available, in both free and premium versions. Even though each of these plugins works differently, the main features are the same across all the plugins. In this article, I am going to look at four different plugins in both free and premium category. Let’s get a quick introduction to these four plugins.

  1. Visual Form Builder – (Free)

    Visual Form Builder

  2. Ninja Forms – (Free)

    Ninja Forms

  3. Gravity Forms – (Premium)

    Gravity Forms

  4. Formidable Forms – (Free and Premium)

    Formidable Forms

Before we go any further, you can download and install these four plugins and see how they work and the available features within the provided screens. Note that you can check all of these plugins for free, apart from Gravity Forms.

I highly recommend you do this task if you want to develop a perfect forms plugin and use it in your site for advanced functionalities. Now let’s figure out the common usages of forms plugins.

Common Usage of WordPress Form sPlugins

Integrating an advanced contact form is the most noticeable use of WordPress forms plugins. Most of these plugins contain Contact Form in their name or within the main description, proving that its the main purpose of these plugins. However, there are some common usages apart from building contact forms. Let’s look a t few of those scenarios.

  • Comment or feedback forms

    WordPress provides a built-in comment form and all existing themes provides this feature by default. But there are occasions where we need more advanced comment forms to categorize the user feedback and get more information. In such cases, it’s easy to use a forms plugin rather than modifying the existing comment form by changing theme code.

  • Order forms

    Forms plugins are also used to receive orders from users on websites selling products. We can create a form to select the products and submit the orders. Once submitted users will get a notification and site admin will process the order manually from the back end.

  • Polls

    Polls are a prominent technique for getting user feedback from a limited set of answers. Forms plugins can be easily configured to create polls and check the results from the back end.

  • Front End Posting

    Generally, users need to log in to WordPress admin area to create posts. However, there are occasions that allows users to submit content to the database without logging in. Front end posting is a commonly used technique where users are allowed to create content from the front end of the website by filling in a form. Forms plugins can easily be used to simplify the front end posting process.

You may have noticed that most of these features allows users to submit the form and get a notification. Basically, this is a one way process where users submit the form data and an administrator manually processes it. Once the data is submitted, the process ends for the user. So this is where we can improve our plugin to continue the process by reducing the manual tasks done in the admin side. We’ll talk more about this later on in “Making Your Plugin Stand Out from the Rest”.

Now we have all the ingredients to plan the features of a perfect forms plugin. In the next section, we are going to discuss the planning process.

Planning a WordPress Forms Plugin

Identifying and planning the requirements is the first and most important task of any development project. There are plenty of plugins available for creating forms with WordPress. Unless we plan properly, we are not going to be anywhere near a perfect plugin that can challenge the existing ones.

Let’s consider the most basic steps in planning such a plugin.

  • Use simple and clean design

    Simplicity is the trend in modern web designing, which allows us to catch the eye of potentials users. If you research for best themes, you will find that most popular themes are the ones with very minimal and clean designs. Some people create designs with very high quality graphics and many colors to impress the users. But soon they realize the mistake and switches back to minimal designs to suit the widest range of users. So make sure to design the plugin layout as simply as possible.

  • Decrease the number of steps

    Users want to do things as quickly as possible, while developers usually want to provide as many features as possible. This is the breaking point where users decide to use the plugin or look for an alternative plugin. As developers, we have to find ways to present all the available features in a simple, user friendly manner. Registration forms can considered a very good example to illustrate this point. A few years ago, we had registration forms with very large number of fields. Later registration form fields were distributed across several steps to make the process simpler. These days we only have maximum of 2-3 fields or social logins to register as a member. So we need to reduce the amount of steps required of creating and managing forms within our plugin.

  • Use existing WordPress features

    There are developers who uses fancy third party plugins to create the features in a forms plugin, hoping that they can stand out from the competitors. But the truth is that these types of plugins create more conflicts with the existing theme and plugins within your WordPress application. WordPress provides the support for features such as drag and drop, data grids, file uploads within its core and these should be used in every possible scenario. Also it standardizes the features, making it easy for users to switch from one plugin to another. When you are developing a new plugin, make sure to use the existing WordPress features and functions to their maximum capabilities to provide flexible solution.

  • Include the mandatory features

    Generally, all WordPress form plugins have a set of features common across all the plugins. It’s important to have the mandatory set of features to compete with other plugins.

In the next section, we are going to look at these mandatory features in detail.

Must Have Features of a Forms Plugin

As developers, we don’t have to reinvent the wheel to create a forms plugin. First, we have to conduct a proper research on existing plugins to identify the fundamental features. Once we have a sound base with fundamental features, it’s straightforward to add new features to make the plugin unique. So let’s look at the fundamental features of forms plugins by comparing the four plugins introduced earlier.

  • Add new forms with dynamic built-in field types

    Form creation is the main functionality of a forms plugin. Generally, these type of plugins provide dynamic field types to create forms using drag and drop effect. Consider the previous screenshots of these four plugins for available field types.

    As you may notice, most forms plugins has a set of basic fields such as Textbox, Textarea, Checkboxes, HTML etc while having a set of plugin-specific unique fields. Basically, we have to provide the support for all the basic HTML form field types in order to develop a plugin to match the features of any existing plugin. Then, we can decide on the advanced field types to make our plugin unique from the existing ones.

  • Display the form list

    Once created, users should have a way to list all the available forms within the site. It’s important to use the existing WordPress data grid to keep the consistency with other plugins. The list should contain all the mandatory information and actions related to forms. Consider the following screenshot for form list in Formidable plugin. Other plugins contains similar screens for a form list.

    Forms List

    As you can see, this plugin uses the existing data grid. Each entry in the form list has number of links to navigate to various options. Most common actions should be Edit, Delete, Settings and Duplicate. Also, these forms are integrated into pages or posts using a shortcode and hence it’s essential to display it inline with the forms.

  • Add form button in post editor

    Generally, users of WordPress websites have limited technical knowledge. So it’s difficult for them to understand the concept of shortcodes and assign parameters without making errors. Therefore, we need a simplified way to allow users to add forms into pages or posts. Most existing plugins provides this feature by adding a “new” button to the post editor. Consider the following screen for form generation button in post editor.

    Forms Generation

    All form buttons are similar in nature where you are allowed to select the form from a dropdown menu and directly insert into the editor. We have to make the popup as simple as possible with only the mandatory options, so that users can quickly add new forms.

  • Manage form entries

    Once forms are inserted into the site, users can fill them with data and submit them. So the next major point in planning a forms plugins is to manage the submitted data and display in the back end of WordPress. Generally, we can use the WordPress admin list table to show the submitted entries in a data grid. The following screen contains a form entries list of Gravity Forms. You can find the link to entries section under each form in forms list.

    Form Entries

    All the submitted entries are shown in a grid, allowing the administrator to take the necessary actions on the submitted data. Gravity Forms provides extended options for form entries by providing custom statuses called Mark as Read, Mark as Unread, Add Star, Remove star etc. You can make your plugin unique by adding more important actions for filtering form entries.

  • Import/export form data

    This is one of the most vital features of a forms plugin. User should be allowed to export all forms with respective data and import it into another website or the same website. Gravity Forms provides the most organized import/export process compared to the other three plugins discussed in this article. The following screen previews the import/export screen of Gravity Forms.

    Import and Export Data

    As you can see, you are allowed to select the forms, necessary fields and respective date range for exporting purposes. Exporting process will create a CSV file, which can be imported any time to restore the data. CSV is the simplest file format and hence should be used instead of relying on different file formats.

    Most existing plugins provide their own import/export options. Here, we are trying to figure out the requirements to build the perfect forms plugin. So you can extend the import/export process by supporting exported files of other popular forms plugins and importing them into your plugin. This will make your plugin stand out from the rest.

  • Step by step forms

    Generally, users don’t like long forms with a large number of fields. As a solution, we are using step by step forms to simplify the form filling process. We can apply the same technique for forms generated by these plugins. Basically, users can break the form into multiple sections in the form creation process. Once the form is displayed, we need to provide one section at a time until all sections are filled by the user. Only a few plugins support this feature, hence it can be useful to improve your plugin among the rest.

So far, we’ve looked at the basic usages of forms plugins and the mandatory features to be competitive with popular plugins. Now it’s time to make our plugin unique from the rest. In the next section, we are going to look at the special features for making our forms plugin competitive with other plugins.

Making Your Plugin Stand Out from the Rest

Forms plugins can be used for various tasks within WordPress websites and hence there are unlimited possibilities for creating new features. So let’s discuss some useful features that add value to your plugin and make it “more perfect” than the rest.

  • Support for form templates

    Basically, these forms plugins let us create forms from scratch using dynamic drag and drop fields. But there can be many occasions for the need of pre-built forms. In such cases we can allow the users to create form templates and reuse them for multiple forms. So users can just select a template, change the necessary fields and make it work without making large forms from scratch.

    This feature is not supported by many plugins and hence can be used to add value to your plugin.

  • Conditional logic

    This is one of the most promising features of forms plugins where users are allowed to change the form field content or form fields dynamically based on predefined conditions. A perfect solution for conditional logic is available in Gravity Forms.

  • Enable custom hooks

    Earlier, we discussed the need for form entries and filtering them by executing custom actions from the bulk action list. These plugins are mostly used for contact forms and hence the list of entries is good enough for most occasions. But we can make these plugins powerful by adding custom hooks and enable developers to implement their own features on form entries.

    You can create custom hooks to add more statuses to the form entries action list and another set of action hooks to execute tasks on the form entry. For example, assume that we are building a forms plugin for use with a contest. You can define a custom action called Select Winner and specify an action hook. Then developers can implement the action hook to execute necessary tasks when the winner is selected.

  • Integrate existing WordPress features

    Most people will use WordPress with its default functionality, instead of building custom application using plugins. Therefore, it’s essential to support existing WordPress features as much as possible with the forms plugin. Gravity Forms does this quite effectively by allowing admins to create forms, where users can submit posts from the front end.

    Similarly we can add more WordPress specific features into our plugins. For example we can add an upload button to load WordPress media uploader, allow creation of users from front end and so on. As long as we can extend our plugin with WordPress-specific features, we can make it stand out among other plugins.

Wrap Up

Throughout this article, we have discussed the basics of forms plugins and how we can plan our plugin to be competitive with existing WordPress forms plugins. There are mainly two ways of making your plugin unique from the rest.

  • Add as many WordPress specific features as possible into the forms creation and managing process
  • Support uncommon use cases for the need of forms plugins, instead of purely depending on contact forms

These days, forms plugins are used widely for quizzes, polls, order submissions, payment integration and many more purposes. So making a unique premium forms plugin can be a highly profitable business.

Our four existing forms plugin providers give us some pretty useful functionalities and some clever implementations. Of these, Gravity Forms seems to be currently the most advanced. But we are developers, right? It’s our business to make the web more perfect than it is. That’s what our clients want. So, there’s no reason we can’t build our own forms plugins. Perhaps we can’t ever make the “perfect” forms plugin, but it’s the striving for perfection that keeps us moving forward.

Let us know what you think about WordPress forms plugins and how you want them to work in different scenarios.

Also feel free to share features in your mind so that developers here who are willing to make forms plugins can develop them for you. Or would you rather build them yourself?

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • Oli
    • Rakhitha Nimesh

      Hi Oli

      I haven’t tried that plugin yet. Will check to see what’s unique about it.

      Thanks

  • Anonymous

    I use a WordPress system which permits unlimited forms with client and server-side validation and infinite customisation. It’s called HTML, CSS, JavaScript and PHP! You can include them in any WordPress theme!

    While some of these plugins are impressive, few people understand how to create a fully-functional form. The forms will always be limited since non-programmers cannot express the logic required in every situation. They’re fine for basic data capture but clients will always ask for more.

    • Shazzad

      Awesome comments :)

    • Rakhitha Nimesh

      Hi craigbuckler

      I have to agree with you. But there are people who manages WordPress sites without having technical knowledge or support of developers. For them, these plugins are like gold for building dynamic functionality. For developers, certainly the combination of HTML, CSS, JavaScript and PHP is better than using a existing plugin. It’s always easier to write your own code rather than customizing a plugin created by other developers.

      So forms plugins is still very usefull for non technical people and that’s why plugins like Gravity Forms has become so popular.

  • Anonymous

    Another Must Have feature would be to mark up all the form elements correctly for accessibility, and to report submission errors in an accessible way.

    • Rakhitha Nimesh

      Hi goodbeergoodpub

      Thanks for the comment. I didn’t get what you meant by “mark up all the form elements correctly for accessibility”. Can you please explain further?

  • Eileen

    I have been searching for years for a form that can set limits on the number of submissions for a single field, not just the entire form. For instance, I want people to choose one of 4 dates in the form. When, say for instance, 10 people have chosen Monday, I’d love Monday to ‘disappear’ as a choice, while the other dates remain. Anyone know of a form that does that? I think you’d have a big winner. I’ve been struggling along using Joomla and DTRegister, but would love to use wordpress.

    • Rakhitha Nimesh

      Hi Eileen

      Thanks for your suggestions.

      The feature you are mentioning is very impressive and unique. Gravity Forms is the best plugin I have seen and I am not sure we can achieve your requirement with Gravity Forms. I’ll check the need and possibility of finding such a feature within an exiting plugins.

      For plugin developers, this is a chance to implement an unique feature and get your plugin noticed among the competitors.