Installation
Install Grid Panda, activate it, and let WordPress run the automatic setup that creates all database tables, registers default options, and wires every subsystem — the indexer, REST API, shortcodes, blocks, and integrations.
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| PHP | 8.1 | 8.2+ |
| WordPress | 6.2 | 6.5+ |
| MySQL | 5.7 | 8.0+ |
| WooCommerce (optional) | 7.0 | 8.0+ |
| ACF Pro (optional) | 6.0 | Latest |
| Elementor (optional) | 3.0 | Latest |
?fx_color=red) works without pretty permalinks, but SEO clean URLs (/shop/filter/color-red/) require them.Installation Steps
- 1
Upload the plugin ZIP
Go to Plugins → Add New → Upload Plugin and select the Grid Panda ZIP file. Click Install Now.
- 2
Activate the plugin
Click Activate Plugin. Activation triggers automatic database setup — no manual SQL or CLI step is required.
- 3
Open the Grid Panda dashboard
A new Grid Panda menu appears in the admin sidebar. Open it to confirm the React builder app loads and shows the Dashboard stats panel.
- 4
Verify active integrations
Go to Grid Panda → Settings → Integrations. Grid Panda auto-detects WooCommerce, ACF, Elementor, WPML, and Polylang — confirm the correct ones are shown as active.
- 5
Run a full reindex
If the site already has content, go to Grid Panda → Index Status and click Reindex All. This populates the wp_gridpanda_index table so facet counts are accurate.
What Happens on Activation
The activation hook runs the schema installer and registers all default option values. No manual database setup is required.
Database Tables Created
| Table | Purpose |
|---|---|
| gridpanda_facets | Facet definitions — name, slug, type, source, post_type, JSON config |
| gridpanda_grids | Grid definitions — layout, source_config JSON, card_template, grid_config JSON |
| gridpanda_cards | Card templates — template HTML/JSON, custom CSS styles |
| gridpanda_index | Facet index — one row per post × facet × value × language combination |
| gridpanda_queue | Async job queue — reindex jobs, batch operations, with status and retry tracking |
| gridpanda_migrations | Schema migration history — prevents re-running applied migrations |
Default Options Registered
| Option Key | Default | Description |
|---|---|---|
| gridpanda_enable_caching | true | Enable REST API response caching |
| gridpanda_cache_ttl | 3600 | Cache lifetime in seconds (1 hour) |
| gridpanda_index_batch_size | 100 | Posts processed per indexing batch |
| gridpanda_rest_cache_ttl | 3600 | REST response cache TTL |
| gridpanda_enable_etag | true | ETag support for 304 Not Modified responses |
| gridpanda_version | 1.0.0 | Installed plugin version (used for migrations) |
Subsystems Initialized
Plugin Constants
These constants are defined in the main plugin file and available throughout the codebase:
GRIDPANDA_VERSION = '1.0.0' GRIDPANDA_FILE = /path/to/grid-panda.php GRIDPANDA_PATH = /path/to/grid-panda/ GRIDPANDA_URL = https://example.com/wp-content/plugins/grid-panda/ GRIDPANDA_BASENAME = grid-panda/grid-panda.php GRIDPANDA_MIN_WP = '6.2' GRIDPANDA_MIN_PHP = '8.1'
Troubleshooting
Builder app is blank or shows JS errors
Open browser DevTools → Console. Check for 4xx/5xx on the initial data fetch to /wp-json/gridpanda/v1/settings or /wp-json/gridpanda/v1/dashboard/stats. Both require manage_options. Confirm no security plugin is blocking admin REST routes.
Database tables not created
Deactivate and reactivate the plugin to re-run the schema installer. If errors persist, check the PHP error log for wpdb errors. The plugin requires CREATE TABLE privileges on the WordPress database user.
Shortcode renders nothing
Verify the grid ID or slug exists in Grid Panda → Grids. The shortcode accepts id or slug: [gridpanda_grid id="5"] or [gridpanda_grid slug="my-grid"]. If no posts show, run a reindex from Grid Panda → Index Status.
Clean filter URLs return 404
Go to Settings → Permalinks and click Save Changes (even without changing anything) to flush WordPress rewrite rules. Then confirm gridpanda_seo_clean_urls_enabled is true in Grid Panda → Settings.
Facet counts are wrong after import
Run a full reindex from Grid Panda → Index Status → Reindex All. The index table is not rebuilt automatically after WP imports or database migrations.
