All documentation
Troubleshooting
Troubleshooting
Common errors, fixes, debug mode, and performance tuning.
Common issues and how to diagnose them. If your specific issue isn’t here, email info@fahdmurtaza.com with a debug log attached.
Debug mode#
Append ?gt_debug=1 to any page URL while logged in as an admin. The plugin emits verbose diagnostic output for that page render only and writes a log entry to wp-content/uploads/gt-logs/.
View logs from Tables → System → Debug log.
To clear logs from the same screen, or programmatically:
gt_log_clear();
Logs auto-rotate daily and keep 7 days by default. Filter via gt_log_retention_days.
Common errors#
”Table not found”#
Cause: the id in your shortcode doesn’t match a saved table.
Fix: check Tables → All Tables for the actual ID. The ID is shown in the table’s URL.
”Failed to load entries”#
Cause: usually a Gravity Forms compatibility issue, often after an update.
Fix sequence:
- Confirm Gravity Forms is active and at version 2.5+
- Disable other plugins temporarily, retest
- Check the debug log for the underlying GF API error
- Re-save the table to flush its cache
”tb_show is not defined”#
Cause: WordPress’s Thickbox library wasn’t enqueued before the table rendered (some custom themes call our shortcode from a wp_localize_script callback that runs before WP decides which scripts to print).
Fix: v4.1.4 added an explicit add_thickbox() call inside the shortcode template render path. Update to 4.1.4 or later.
”jQuery is not defined”#
Cause: jQuery is loaded later than our admin script in some theme/plugin combinations.
Fix: v4.1.3 added a more robust dependency check. Update.
”Click to edit doesn’t save”#
Cause: the AJAX handler is hitting a 403 (capability check) or 400 (validation).
Fix: open browser dev tools → Network → click a cell, attempt edit → inspect the failing response.
- 403 → user lacks the capability set in
edit_permissions. Check role config. - 400 → Gravity Forms validation rejected the value. The error message in the response body shows the specific rule that failed.
”Export downloads an empty CSV”#
Cause: the active filter narrowed the result set to zero rows.
Fix: clear the filter, re-export. Or check the filter state, the export respects current filter exactly.
Performance tuning#
Tables with >5,000 rows#
Enable server-side pagination (default) and queue-based exports:
[gravity_table id="42" per_page="50" export_queue_threshold="2000"]
Auto-refresh on busy pages#
Auto-refresh causes a database query on the configured interval. On heavily-trafficked pages, dial the interval up:
[gravity_table id="42" auto_refresh="true" refresh_interval="120"]
(2 minutes instead of the 60-second default.)
Large entry payloads#
If individual entries are huge (long-form fields, complex repeaters), consider:
- Using
includeto limit displayed columns - Lazy-loading the long fields behind a “show more” link via the
gt_render_cellfilter - Storing the heavy content in a separate post and referencing by ID
Database query limits#
The query layer uses GFAPI::get_entries(), which is tuned by Gravity Forms. For tables on shared hosting with PHP memory ≤256MB, cap per_page at 25 and ensure wp-config.php has WP_MEMORY_LIMIT set appropriately.
nginx export directory#
The plugin’s .htaccess in wp-content/uploads/gt-exports/ denies direct access on Apache. On nginx, add to your server config:
location ~* /wp-content/uploads/gt-exports/ {
return 403;
}
Then route export downloads through the plugin’s authenticated endpoint at /wp-json/gt/v1/export-download/{token} (handled automatically by the export buttons).
Compatibility matrix#
| Component | Required | Tested up to |
|---|---|---|
| WordPress | 5.0+ | 6.9 |
| PHP | 8.0+ | 8.3 |
| Gravity Forms | 2.5+ | 2.9.x |
| MySQL / MariaDB | 5.7+ / 10.3+ | 8.0 / 11.x |
| Browsers | Chrome 88+ / Firefox 78+ / Safari 14+ | latest |
When to email support#
If you’ve reached this page and your issue isn’t here:
- Append
?gt_debug=1to the failing page and reload - Go to Tables → System → Debug log → Download CSV
- Email the log + a description to info@fahdmurtaza.com
Reply within 24 hours, often the same day.