Skip to content

Installation ​

Ambikly installs like any other WordPress plugin. This page covers the requirements, the three install routes, what activation does to your database, how to add Ambikly Pro on top, and what is and is not removed when you deactivate or delete.

Requirements ​

Ambikly needs nothing beyond a standard WordPress host. There is no build step, no Composer install, and no external service to register with before you start.

RequirementMinimumNotes
WordPress5.4Declared in the plugin header. Tested up to 6.7.
PHP7.4Declared in the plugin header. 8.1 or newer recommended.
MySQL5.7Or MariaDB 10.3. Ambikly uses dbDelta, JSON columns are not required.
Database tables45 freePrefixed {wp_prefix}ambikly_. Check your host's table quota.
PHP memory128 MBThe React admin is a static bundle; memory is used by imports and exports.
HTTPSRecommendedStripe and PayPal will not work usefully without it.

Ambikly does not require another eCommerce plugin, and it does not read another plugin's data. If you already run one, see the note on page slugs in Store pages — Ambikly deliberately avoids adopting a /shop or /cart page that belongs to something else.

Install the free core ​

Ambikly is on WordPress.org, so the search route is the shortest. All three routes end at the same place: an inactive plugin waiting to be activated.

Route 1 — search from the WordPress admin ​

  1. Go to Plugins → Add New.
  2. Search for Ambikly.
  3. Click Install Now on the plugin by ambikly, then Activate.

Route 2 — upload a ZIP ​

Use this when you were sent a build directly, or when your host blocks outbound calls to WordPress.org.

  1. Download ambikly.zip from wordpress.org/plugins/ambikly.
  2. Go to Plugins → Add New → Upload Plugin.
  3. Choose the ZIP, click Install Now, then Activate.
Careful: Do not unzip the archive before uploading, and do not upload a ZIP that contains a second nested ambikly folder. WordPress expects ambikly/ambikly.php at the top level and will report "no valid plugin header" otherwise.

Route 3 — SFTP or SSH ​

Use this when the upload limit on your host is too small, or when you deploy plugins from version control.

  1. Unzip ambikly.zip locally so you have a folder named ambikly.
  2. Upload that folder into wp-content/plugins/, so the main file lands at wp-content/plugins/ambikly/ambikly.php.
  3. Keep the bundled vendor/ directory. Ambikly loads its autoloader from vendor/autoload.php; without it, classes will not load.
  4. Go to Plugins → Installed Plugins and click Activate under Ambikly.

What activation does ​

Activation is where all the setup work happens. It runs once, on the register_activation_hook callback in ambikly.php, and it is safe to re-run — every step checks before it writes.

StepWhat it does
Create tablesBuilds the 45 {wp_prefix}ambikly_ tables. 10 come from Install (products, attributes, variations, files, meta), 35 from Schema (orders, customers, coupons, shipping, tax, webhooks, jobs, and the Pro-facing tables).
Migrate schemaRuns Schema::migrate() and records the result in the ambikly_db_version option.
Seed defaultsWrites ambikly_settings_general, ambikly_settings_emails, ambikly_settings_payments and ambikly_settings_pages — but only where the option does not already exist.
Create store pagesPublishes Shop, Cart, Checkout, My Account and Order Received, each containing the matching shortcode. See Store pages.
Register rolesAdds the ambikly_store_manager (Store Manager) and ambikly_support_agent (Support Agent) roles, and grants Administrators the ambikly_manage_store and ambikly_view_store capabilities. See Roles & permissions.
Flag the wizardSets a 60-second transient that redirects you into the setup wizard on your next admin page load.

The seeded defaults are deliberately conservative: USD with the symbol on the left, a US store country, kg and cm units, Cash on Delivery enabled, Direct Bank Transfer present but disabled, and a "Rest of World" shipping zone carrying a $10 flat rate plus free shipping over $100. All of it is editable afterwards, and the currency is a store setting — the rest of these docs use $ for examples.

The wizard opens by itself — once

The activation redirect is a one-shot transient. If you land somewhere else — because you bulk-activated several plugins, or because another plugin redirected first — the wizard does not open. An admin notice offering the wizard stays on screen until you finish it or click Skip. See Setup wizard.

Install Ambikly Pro ​

Ambikly Pro is a separate plugin, not an upgrade of the free one. Both stay installed and both stay active. Pro is not distributed on WordPress.org — you download it from your account at store.ambikly.com after purchase.

  1. Install and activate the free Ambikly plugin first. Pro is a hard dependency, not a suggestion.
  2. Download ambikly-pro.zip from your account.
  3. Go to Plugins → Add New → Upload Plugin, upload the ZIP, and click Activate.
  4. Open Ambikly → License and activate your license key.
  5. Open Ambikly → Addons and switch on the add-ons you want. Disabled add-ons are skipped at load time.

Pro enforces the dependency in two places:

  • On activation. If the free plugin's Ambikly\Database\Schema class is missing, Pro deactivates itself and shows a "Plugin dependency missing" page rather than half-installing.
  • On every page load. Pro checks AMBIKLY_VERSION against a hard-coded minimum of 0.0.10. If the free core is older, Pro prints an admin notice — "Ambikly Pro requires Ambikly 0.0.10 or higher" — and does not boot. No add-on runs, and no Pro screen appears.

So the order matters: update the free core first, then Pro. Never the other way around.

Pro activation also runs Schema::migrate() again, which is how the Pro-facing tables reach the current version if you installed the free core some time ago.

See Install & activate a license for the license flow and Managing add-ons for enabling individual add-ons.

PROOne license, 35 add-ons

Ambikly Pro is a single purchase that unlocks every add-on — subscriptions, gift cards, bundles, abandoned cart, one-page checkout and the rest. There is no per-add-on pricing and no transaction fee.

See pricing →

Post-install health check ​

Run these five checks before you add real products. Each one catches a different class of install problem.

CheckWhereWhat you want to see
Plugin activePlugins → Installed PluginsAmbikly listed as active, version 0.0.10 or newer
Admin loadsAmbiklyThe full-screen dashboard, not a blank white page
Tables presentAmbikly → Tools → System statusmissing_tables is an empty list
DB version currentAmbikly → Tools → System statusdb_version matches expected_db_version
Store pages existPagesShop, Cart, Checkout, My Account and Order Received, all published

To read System status, click the wrench icon in the top-right header of the Ambikly admin, then Show status on the System status card. The result is JSON covering plugin and DB versions, PHP, WordPress and MySQL versions, memory limit, whether the site is on SSL, the expected and missing tables, row counts, your currency and store country, the gateways currently available, and every registered add-on with its enabled state. Copy puts the whole blob on your clipboard for a support ticket.

Tip: If db_version is behind expected_db_version — usually after a manual file-level update that skipped activation — run wp ambikly upgrade-db, or deactivate and reactivate the plugin. See WP-CLI.

If the Ambikly screen is blank ​

The admin is a React single-page app mounted into #ambikly-new-root, and it hides the WordPress admin chrome while it is on screen. A blank page almost always means the bundle did not load:

  • Open your browser console and look for [Ambikly] React or ReactDOM not loaded! — that points at a blocked script or an aggressive optimization plugin.
  • Check that the vendor/ and assets/ directories survived your upload.
  • Temporarily disable JS concatenation or minification plugins and reload.
  • Confirm your user has one of ambikly_view_store or manage_options. Without either, the page renders nothing at all.

More in Troubleshooting.

Updating ​

You are updatingHow
Free core, from WordPress.orgDashboard → Updates, or the Update now link on Plugins
Free core, by fileReplace the ambikly folder, then run wp ambikly upgrade-db or reactivate
ProDashboard → Updates once the license is active — Pro registers itself with the WordPress updater

Pro's update check runs against your license. If the license lapses, updates stop being offered but the add-ons you already have keep running.

Before any update on a live store: take a database backup, and update the free core before Pro. If the two ever end up mismatched, Pro simply refuses to boot with a notice — the store keeps selling on the free core in the meantime.

Deactivating vs deleting ​

These two are very different, and the difference is deliberate.

Deactivating ​

Deactivation runs exactly one thing: it unschedules Ambikly's cron events — the job-queue tick and the cart-prune job. That is all.

KeptRemoved
All 45 database tables and every row in themScheduled cron events
Every ambikly_* option, including settings and gateway credentials—
The Store Manager and Support Agent roles, and users' assignments to them—
The Shop, Cart, Checkout, My Account and Order Received pages—
Products, orders, customers, coupons, invoices, webhook secrets—

Reactivating brings everything back, reschedules the cron, and re-runs the idempotent seed (which finds the existing options and leaves them alone). Deactivating is a safe way to take the store offline while you diagnose a conflict.

While deactivated, the storefront pages still exist but the shortcodes are no longer registered, so those pages render their raw shortcode text to visitors. Set them to draft if the site stays public.

Deleting ​

Deleting the plugin from Plugins runs uninstall.php. The first thing that file does is read the ambikly_remove_data_on_uninstall option:

Your data survives a delete by default

ambikly_remove_data_on_uninstall defaults to false, and there is no admin UI anywhere in Ambikly to change it. With the default in place, deleting the plugin removes the plugin files and nothing else — every table, option, role and store page stays exactly where it was. This is intentional: an accidental delete should not destroy a store.

If you genuinely want a clean removal — you are decommissioning a test site, or handing over a server — set the option to a truthy value before you delete:

bash
wp option update ambikly_remove_data_on_uninstall 1

Or in code, from a mu-plugin or a one-off snippet:

php
update_option( 'ambikly_remove_data_on_uninstall', 1 );

With the flag truthy, deletion then:

  • Drops every table owned by Install and by Schema — all 45.
  • Removes the Store Manager and Support Agent roles, and strips ambikly_manage_store / ambikly_view_store from Administrators.
  • Deletes every option whose name begins ambikly_, and every _transient_ambikly_*.
  • Deletes the ambikly_customer_id user meta from all users.
Careful: This is not reversible and there is no confirmation prompt beyond WordPress's own "are you sure" on the delete. Orders, customer records, invoices and stored gateway credentials all go. Take a database backup first.

Two things deletion does not touch, in either mode: the Shop, Cart, Checkout, My Account and Order Received pages — they are ordinary WordPress pages, so delete them yourself — and any files customers uploaded or you attached to digital products in the media library.

Next ​

The plugin is installed and the tables are in place. Next, walk the Setup wizard to set your currency, pick a payment method and confirm your store pages.