Document – Chained Selects for Contact Forms 7

Chained Selects allow you to create dependent dropdown fields in Contact Forms 7. When the user selects an option in the first field (Parent), the second field (Child) will dynamically update to show only the relevant options.

This is useful for:
• Categories → Models
• Country → Cities
• Product Type → Product Names
• Brand → Models
• Any parent-to-child selection logic

Table of contents:

1. Installation & Activation

Install the plugin like any other WordPress plugin: Chained Selects for Contact Form 7 Pro

Activate it from Dashboard → Plugins.

2. Add Chained Select Field

In this doc, we use an example dataset :

Category: Phone, Laptop, Tablet (parent field)

Models per Category (child field):

  • Phone → Pixel 6, iPhone 14, Galaxy S22
  • Laptop → MacBook Air, Dell XPS 13, ThinkPad X1
  • Tablet → iPad Air, Galaxy Tab S8, Surface Go

Step 1: Add Select fields

Create two fields: Category and Model

Step 2: Choose a Chained Select tab

In the form editor, choose Chained Select tab, under Source, you can choose:.

  • CSV File: loads options from a CSV file (for example, a file with columns: make, model, year).
  • Database: loads options directly from a database table.
  • Google Sheets: data is loaded from a live web source

Step 3: Set the condition to link parent → child

2.1 Chained Select Using a Database Table

In Database Mode, your chained select options are loaded directly from a table inside your WordPress database. This is extremely useful when you have a large dataset or when your data changes regularly and you don’t want to update the form manually.

Step 1: Prepare Your Database Table
Create table wp_chained_data (or any name).

Example structure:

id | category | model

Step 2: Configure Parent Field (Category)

Create a field named Category.

Go to the Chained Select tab.

Set Source: Database Table.

Table name: wp_chained_data

Database Column: Enter the column name containing the category values: categories

Insert the tag.

Step 3: Configure Child Field (Model)

Create a field named Model.

Chained Select tab → Source: Database Table.

Table name: wp_chained_data

Database column: this column contains the child/related values: model

Now we need to tell the plugin how to filter the models based on the selected category. We do that using a Where condition.”

Steps:

1. In the Model field, scroll to the Where section.

2. Click Add Where.

3. Fill in the condition:

Column: categories

Operator: =

Field: your Category field name: chained-select-298

Insert the tag

This rule means:Show only database rows where the categories column matches the value selected in the Category field.

Step 4: Save your form and test it on the frontend.

Phone → Pixel 6, iPhone 14, Galaxy S22
Laptop → MacBook Air, Dell XPS 13, ThinkPad X1
Tablet → iPad Air, Galaxy Tab S8, Surface Go

2.2 Chained Select Using a CSV File

This mode loads the chained options from a CSV file. Recommended for large datasets.

Step 1: Prepare Your CSV File
Create a CSV with two columns:

categories,model
Phone,Pixel 6
Phone,iPhone 14
Phone,Galaxy S22
Laptop,MacBook Air
Laptop,Dell XPS 13
Laptop,ThinkPad X1
Tablet,iPad Air
Tablet,Galaxy Tab S8
Tablet,Surface Go

Step 2: Upload the CSV File
You can:
• Upload to Media Library → copy file URL
• Or host it externally and paste the link

Step 3: Configure Parent Field (Category)
Chained Select tab → Source: CSV File.

Paste the file path or URL.

Column: type the column name that matches the parent values:categories.

Insert tag

Step 4: Configure Child Field (Model).

Chained Select tab → Source: CSV File.

Paste the same file path or URL.

Column: type the column name that matches the child values:model

Then we tell the plugin how to filter the CSV data using the ‘Where’ condition.”

Steps:

1. In the Model field settings, scroll to the Where section.

2. Click Add Where.

3. Fill out the fields like this:

Column: categories

Operator: =

Field: Category field name: chained_select-752

Meaning of this rule: Only show rows where the parent column matches the value selected in the Categories field.

Step 5: Save your form and test it on the frontend.

2.3 Chained Select Using Google Sheets

Google Sheets works the same way as CSV — but the data is loaded from a live web source.

Step 1: Prepare your Google Sheets

Open the sheet

Click Share.

Set access to Anyone with the link.

Copy the link.

Step 2: Configure the Category Field

Chained Select tab → Source: Google Sheet.

Paste your share link.

Column: categories.

Insert tag.

Step 3: Configure the Model Field

Chained Select tab → Source: Google Sheet.

Paste your share link.

Column: categories.

Then we tell the plugin how to filter the sheet data using the ‘Where’ condition.”

Steps:

  1. In the Model field settings, scroll to the Where section.
  2. Click Add Where.
  3. Fill out the fields like this:

Column: categories

Operator: =

Field: Category field name: chained_select-12

Meaning of this rule: Only show rows where the parent column matches the value selected in the Categories field.

Step 4: Save your form and test it on the frontend.

3. Example: Make → Year → Model

Example CSV file (cars.csv)

make,model,year
Toyota,Corolla,2020
Toyota,Camry,2021
Honda,Civic,2020
Honda,Accord,2022
Tesla,Model 3,2021
Tesla,Model S,2022

In the form:

  1. Make: choose Toyota
  2. Year: shows only 2020, 2021
  3. Model: shows Corolla or Camry depending on selected year

Demo Flow:

  1. Select a Make
  2. Select a Year (automatically filtered by make)
  3. Select a Model (automatically filtered by make + year)