WP Manifestindependent plugin directory
manifest / forms / gf-chained-select-enhancer

Chained Select Enhancer for Gravity Forms WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA

Chained Select Enhancer for Gravity Forms

★ 2stars
329release downloads
≈10active sites
v2.2.3latest · 23d ago

Install

Download gf-chained-select-enhancer.zip From the v2.2.3 release on GitHub, Sep 29, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/guilamu/gf-chained-select-enhancer/releases/download/v2.2.3/gf-chained-select-enhancer.zip
Updates itself. It ships its own updater, so new versions appear under Dashboard → Updates.

Enhances Gravity Forms Chained Selects with auto-select, left-aligned labels, column sections, XLSX import, and CSV export.

Field Behavior

  • Choose auto-select when a chained select level has only one available option and optionally make that field read-only
  • Keep auto-selected read-only chained-select levels in the submitted form payload so validation still receives their values
  • Configure display and data options directly in the Gravity Forms editor for existing Chained Select fields
  • Match backend preview and frontend rendering for left-positioned sub-labels and grouped sections

Layout & Visibility

  • Set vertical chained selects to full width when long values need more room
  • Show the full currently selected value in a native tooltip when long chained select content is truncated
  • Group related columns into titled frontend sections from the field settings panel
  • Display consecutive sections side by side from the field settings panel with matching backend and frontend layout
  • Hide unwanted columns while keeping the chained select data structure intact
  • Keep hidden intermediate chained-select columns in the correct runtime order so downstream levels still resolve

Import & Export

  • Import chained select choices from CSV or XLSX files generated by Excel, LibreOffice, or Google Sheets
  • Preserve intermediate blank import columns so later chained-select levels do not shift left
  • Generate CSV exports of every available chained select combination from the field settings panel
  • Extend the existing Chained Selects add-on workflow without replacing the source plugin

Performance

  • Cache rendered chained-select choice trees on the frontend to avoid unnecessary per-level AJAX requests when possible
  • Fall back to the native Gravity Forms Chained Selects AJAX flow automatically when a local cache branch is incomplete

Key Features

  • Gravity Forms Editor: Configure auto-select, column visibility, sections, and layout from the field settings panel
  • Multilingual: Works with content in any language
  • Translation-Ready: All strings are internationalized
  • Secure: Uses nonce verification, capability checks, escaped output, and sanitized CSV/XLSX handling
  • GitHub Updates: Automatic updates from GitHub releases

Requirements

  • Gravity Forms 2.5 or higher
  • Gravity Forms Chained Selects Add-On
  • PHP ZipArchive extension for XLSX import
  • WordPress 5.8 or higher
  • PHP 7.4 or higher

Installation

  1. Upload the gf-chained-select-enhancer folder to /wp-content/plugins/
  2. Activate the plugin through the Plugins menu in WordPress
  3. Go to Forms → Your Form and add or edit a Chained Select field
  4. Upload a CSV or XLSX source file if you want to import choices
  5. Configure auto-select, layout, sections, and export options from the field settings panel

FAQ

How do I enable auto-select?

In the form editor, select your Chained Select field. In the field settings panel, check "Automatically select when only one option is available". You can also enable the read-only option right below it to lock fields that have only one available choice.

How do I place labels on the left or create sections?

In the field editor, choose "To the left of the field" for sub-label placement. Use "Manage Columns" to create titled sections and organize the columns shown on the frontend. Section headers intentionally stay focused on the title and actions, without showing present/hidden column counters. Use the side-by-side button on a section header to display that section next to the following one.

How do I hide columns?

In the field settings, use the toggle switches under "Hide Columns" to show/hide specific columns. Hidden columns are still processed but not displayed to users.

How do I export choices to CSV?

Select your Chained Select field in the form editor. Click the "Export Choices" button in the field settings panel. The CSV will download automatically.

Can I increase the unique value limit for imports?

Yes. The enhancer respects the gform_chainedselects_column_unique_values_limit filter used during CSV and XLSX imports:

add_filter( 'gform_chainedselects_column_unique_values_limit', function ( $limit ) {
  return 10000;
} );

Project Structure

.
├── gf-chained-select-enhancer.php    # Main plugin bootstrap
├── README.md                         # Plugin documentation
├── assets
│   ├── css
│   │   ├── admin.css                 # Form editor and manager styles
│   │   └── frontend.css              # Frontend layout and section styles
│   └── js
│       ├── admin.js                  # Form editor settings and preview scripts
│       └── frontend.js               # Frontend chained select behavior enhancements
├── includes
│   ├── class-gf-chained-select-enhancer.php  # Main enhancer functionality
│   ├── class-github-updater.php      # GitHub auto-updates
│   ├── class-import-handler.php      # CSV and XLSX import processing
│   ├── class-xlsx-parser.php         # XLSX parsing helpers
│   └── Parsedown.php                 # Markdown parser for plugin details modal
└── languages
    ├── gf-chained-select-enhancer-fr_FR.mo   # French translation (binary)
    ├── gf-chained-select-enhancer-fr_FR.po   # French translation (source)
    └── gf-chained-select-enhancer.pot        # Translation template

Changelog

2.2.0 - 2026-08-14

  • Fixed: A blank first line in a CSV or XLSX no longer becomes the header row, which silently truncated the import to a single column
  • Fixed: XLSX files whose first worksheet is not sheet1.xml now import correctly — the sheet is resolved through the workbook relationships instead of being assumed (affected files exported by LibreOffice, Google Sheets, and workbooks with reordered or deleted sheets)
  • Fixed: XLSX cells that omit the optional r cell-reference attribute no longer collapse an entire row onto its first column
  • Fixed: Exported CSV files now start with a UTF-8 BOM so accented values open correctly in Excel instead of being mangled
  • Fixed: The "No value" fallback now resolves the preceding column correctly on fields with nine or more columns, where Gravity Forms skips input indices that are multiples of ten
  • Fixed: The wrong-file-type message in the form editor now mentions CSV and XLSX; the previous implementation hooked a filter the Chained Selects add-on never applies, so the override never took effect
  • Fixed: The form editor script no longer throws when fieldSettings.chainedselect has not been registered yet, which aborted the rest of the inline setup
  • Fixed: The frontend choice cache is now actually delivered to the page. Gravity Forms renders forms through gform_pre_render before wp_enqueue_scripts runs and caches the result, so the inline data had nothing to attach to and the cache never shipped — every chained select fell back to a server round trip on each column. The data is now held and flushed once the script is registered
  • Improved: Choice export streams row by row instead of building the entire expanded combination set in memory first, so large fields no longer exhaust memory
  • Improved: Frontend script exits immediately on pages with no chained select instead of polling for six seconds, and the jQuery $.post interception is only installed when a chained select is actually present
  • Improved: Failed GitHub update checks are cached for 30 minutes, so a rate-limited or unreachable API no longer retries a 15-second request on every admin page load
  • Security: Capability and nonce checks now run before the uploaded file is opened and parsed
  • Security: The XLSX parser restores libxml global state after parsing instead of leaving entity loading and error handling altered for the rest of the request
  • Fixed: The per-column unique value limit is now measured on the sanitized values that actually reach the choice tree, so whitespace variants no longer inflate the count

2.1.5 - 2026-08-14

  • Fixed: CSV import (gform_post_multifile_upload handler) no longer triggers a PHP 8.4+ deprecation notice for fgetcsv()/str_getcsv() missing the $escape parameter, which could break the AJAX import response when display_errors is on
  • Fixed: CSV export now passes an explicit $escape parameter to fputcsv() for the same PHP 8.4+ compatibility, and to keep export/import parsing symmetric with GF Chained Selects 1.8.2

2.1.4 - 2026-06-05

  • Security: Imported choice values are now sanitized with sanitize_text_field instead of wp_kses('post'), closing an XSS surface on crafted CSV/XLSX payloads
  • Security: Removed the contradictory LIBXML_NOENT flag from the XLSX parser so XXE protection is no longer weakened on PHP 8.0+
  • Fixed: Error messages during file upload now use the plugin's own text domain instead of gravityforms, so translations are picked up correctly
  • Fixed: The fieldSettings.chainedselect editor registration no longer accumulates duplicate entries on repeated editor opens
  • Improved: Admin CSS and JS are now loaded only on Gravity Forms screens instead of every admin page
  • Improved: The inline footer CSS for hidden columns and full-width fields is now deduplicated into a single `

Releases

Newest 25 of 36 recorded releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v2.2.3 latest
Sep 29, 2026 23d ago
gf-chained-select-enhancer.zip
26
Sep 22, 2026 1mo ago
gf-chained-select-enhancer.zip
18
Sep 22, 2026 1mo ago
gf-chained-select-enhancer.zip
5
Aug 14, 2026 2mo ago
gf-chained-select-enhancer.zip
20
Aug 14, 2026 2mo ago
gf-chained-select-enhancer.zip
1
Jun 6, 2026 4mo ago
gf-chained-select-enhancer.zip
11
May 21, 2026 5mo ago
gf-chained-select-enhancer.zip
16
May 21, 2026 5mo ago
gf-chained-select-enhancer.zip
5
May 20, 2026 5mo ago
gf-chained-select-enhancer.zip
13
May 19, 2026 5mo ago
gf-chained-select-enhancer.zip
7
May 19, 2026 5mo ago
gf-chained-select-enhancer.zip
11
May 19, 2026 5mo ago
gf-chained-select-enhancer.zip
2
May 18, 2026 5mo ago
gf-chained-select-enhancer.zip
13
May 18, 2026 5mo ago
gf-chained-select-enhancer.zip
5
May 15, 2026 5mo ago
gf-chained-select-enhancer.zip
11
May 15, 2026 5mo ago
gf-chained-select-enhancer.zip
1
May 15, 2026 5mo ago
gf-chained-select-enhancer.zip
5
May 14, 2026 5mo ago
gf-chained-select-enhancer.zip
11
May 14, 2026 5mo ago
gf-chained-select-enhancer.zip
11
May 14, 2026 5mo ago
gf-chained-select-enhancer.zip
6
May 13, 2026 5mo ago
gf-chained-select-enhancer.zip
9
May 12, 2026 5mo ago
gf-chained-select-enhancer.zip
16
May 10, 2026 5mo ago
gf-chained-select-enhancer.zip
12
Mar 31, 2026 6mo ago
gf-chained-select-enhancer.zip
17
Mar 30, 2026 6mo ago
gf-chained-select-enhancer.zip
10
All releases on GitHub →

Active-site estimate ≈10 comes from the median of recent superseded releases. Method.

A grade

Security

Chained Select Enhancer for Gravity Forms 2.2.3 · audited by WP Registry

No security issues found.

Audited release
2.2.3
Findings
none
Worst severity
—
Content hash
7641a9bb4c4921642f9097df…

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.