How To Save Contact Form 7 Data In Custom Database

How To Articles

If you have created a website and incorporated a contact form using the widely-used WordPress plugin, Contact Form 7, the default setting will store all form submissions in your website’s database. However, if you prefer to save the form data in a personalized database, you will need to perform some coding. This article will guide you through the steps of saving Contact Form 7 data in a customized database.

Step 1: Creating the Custom Database

The first step is to create a custom database where you’ll store the form data. To do this, you’ll need to have access to your website’s hosting server and a tool like phpMyAdmin. If you’re not familiar with setting up databases, you may want to consult with your web developer or hosting provider for assistance.

Once you have access to phpMyAdmin, you can create a new database by following these steps:

  1. Login to phpMyAdmin and select the “Databases” tab.
  2. Enter a name for your database and click the “Create” button.

With the custom database now set up, we can move on to the next step.

Step 2: Modifying the Contact Form 7 Plugin

Now that we have our custom database ready, we need to modify the Contact Form 7 plugin to save the form data in this database.

Open your WordPress dashboard and navigate to the Contact Form 7 settings page. Select the form for which you want to save the data in the custom database. In the “Additional Settings” tab, add the following code:


This code will hook into the Contact Form 7 plugin’s “before_send_mail” action, allowing us to customize the form submission process.

Next, we need to define a function that will be called when the form is submitted. Add the following code to your theme’s functions.php file:

function save_form_data_to_custom_database($form)

This function takes the $form parameter, which contains all the form data. Inside this function, you can write the code to save the form data to your custom database.

Step 3: Saving the Form Data

Now that we have our custom database and a function to handle the form submission, we can write the code to save the form data.

Start by establishing a connection to your custom database using the appropriate credentials. You can use the mysqli_connect function to do this. Once the connection is established, you can use the mysqli_query function to execute SQL queries.

Here’s an example of how the code might look:

In this example, ‘localhost’ is the hostname of your database server, ‘username’ and ‘password’ are the credentials for your database, and ‘database’ is the name of your custom database. Replace ‘field1’, ‘field2’, and ‘field3’ with the actual field names from your contact form.


Congratulations! You’ve successfully learned how to save Contact Form 7 data in a custom database. By following these steps, you can take control of your form data and store it in a database of your choice. This customization gives you greater flexibility in managing and analyzing your form submissions. Remember to test your code thoroughly before deploying it to your live website.