Skip to content

Installing the Plugin

Dino Discover is a WordPress plugin. It runs alongside WooCommerce, adds a top-level Dino Discover menu in the admin, and registers a shortcode you can drop into any post, page, or block. The Beta builds are distributed as a ZIP you upload yourself — once we ship 1.0 the plugin will also appear in the WordPress.org directory.

  • WordPress 6.3 or newer.
  • WooCommerce 8.0 or newer. Dino Discover is HPOS-compatible — every order read goes through wc_get_orders(), and a PHPStan rule fails the build if any code path reaches the legacy posts table. HPOS-enabled is the recommended configuration.
  • PHP 8.1 or newer. The plugin uses enums, readonly value objects, and native union types. There is a PHPStan platform pin to 8.1 so 8.2+ syntax surfaces as an error locally.
  • A reasonably modern MySQL / MariaDB. The installer is happiest on MySQL 8.0.29+ or MariaDB 10.5+, where DROP COLUMN IF EXISTS and CREATE INDEX IF NOT EXISTS are available. There’s no hard runtime gate in the Beta — if you’re on an unusually old database, raise it with your implementation contact.
  • Action Scheduler. Ships with WooCommerce — you don’t need to install it separately.

Beta builds are shared as a versioned ZIP, e.g. dino-discover-0.1.0.zip.

  1. In the WordPress admin, open Plugins → Add New.
  2. Click Upload Plugin at the top of the screen.
  3. Choose the ZIP, then click Install Now.
  4. When the upload finishes, click Activate.
  5. Open Dino Discover in the admin sidebar. The Dashboard opens with the setup checklist.

[SCREENSHOT: The Plugins → Add New → Upload Plugin screen with the Dino Discover ZIP selected.]

When you activate, Dino Discover:

  • Creates a set of dd_* tables on the site’s database prefix (one per domain — sessions, events, quizzes, snapshots, leads, upvotes, slugs, audit log, and so on).
  • Registers a custom manage_dino_discover capability and grants it to the administrator and shop_manager roles by default. The capability is filterable — see Hook Reference for the override pattern.
  • Generates three secrets that stay encrypted on disk: a lead email hash key, an integration API key encryption key, and an A/B variant assignment salt.
  • Schedules four recurring Action Scheduler jobs: a 30-second event flush, a nightly rollup, a daily prune (default retention 90 days), and a nightly Catalogue Coverage refresh.

On multisite, activation re-runs per site — every site gets its own tables and secrets.

The plugin is multisite-safe. You can network-activate it, or activate it per site. Each site gets:

  • Its own dd_* tables on the per-site prefix.
  • Its own activation-generated secrets.
  • Its own scheduled jobs.

There is no shared cross-site state.

For Beta builds you’ll uninstall the old version through the Plugins screen and upload the new ZIP. Your dd_* tables and settings are preserved across versions — the installer is additive and idempotent. Once we ship 1.0 the WordPress.org auto-updater handles this.

The Dino Discover menu doesn’t appear after activation. Check that the account you’re logged in as has the manage_dino_discover capability. Administrators and shop managers get it automatically; other roles need to be granted explicitly or via the dino_discover_capability filter.

The activator times out on a large site. The installer creates several tables with secondary indexes; on shared hosting with strict MySQL timeouts this can be slow. If activation fails, no partial state is left behind — re-run activation and it’ll pick up where it stopped.

Activation succeeds but no scheduled jobs run. Confirm Action Scheduler is running. WooCommerce ships it; if you’ve disabled it for any reason the event-flush job won’t tick. The Catalogue Coverage page also won’t refresh until you click the Refresh now button.