Integration Base Reference

Alpha Insights Documentation

Docs Navigation

Integration Base Class Reference

WPDAI_Integration_Base is the abstract base class for all integrations. Your integration must extend it and implement every abstract method. The class is in includes/integrations/WPDAI_Integration_Base.php.

Abstract Methods (Required)

get_slug()

Returns: string

Unique identifier for the integration (e.g. 'webhooks', 'my-custom-integration'). Used in URLs (?integrations=slug) and when registering with the manager. Use lowercase and hyphens.

get_label()

Returns: string

Display name shown on the integration card and in the settings header. Should be translatable (e.g. __( 'Webhooks', 'alpha-insights-pro' )).

get_description()

Returns: string

Short description for the card. Translatable.

is_pro()

Returns: bool

Whether this integration is Pro-only. When true and the Pro version is not active, the card shows a Pro badge and clicking it shows an upsell instead of settings.

is_enabled()

Returns: bool

Whether the integration is configured/active. Used to show an “Enabled” or “Disabled” badge on the card. Typically based on options (e.g. API key set, toggle on).

render_settings()

Returns: void

Output the settings HTML for this integration. Rendered inside the main settings form when the user has selected this integration (?integrations=slug). Use the same table/card styles as built-in integrations (e.g. class="wpd-table fixed widefat") and escape all output. Form fields should use name attributes that your save_settings() reads from $_POST.

save_settings( $saved )

Parameters: $saved (array) – Associative array of “label” => success (bool) for each saved group. You add an entry and return the modified array.

Returns: array – The modified $saved array.

Called via the wpd_ai_save_settings filter when the user saves the main settings page. Check for your $_POST keys, sanitize input, update options, and set e.g. $saved['My Integration Name'] = update_option( 'my_option', $data );, then return $saved.

Inherited Methods

__construct()

Calls setup_hooks(). Do not override unless you call parent::__construct() and still run setup_hooks().

setup_hooks()

Returns: void

Registers the default filter: add_filter( 'wpd_ai_save_settings', array( $this, 'save_settings' ), 10 );. Override to add more hooks but call parent::setup_hooks() so save continues to work.

get_settings_url()

Returns: string

URL to this integration’s settings: adds page, subpage=integrations, and integrations=<slug> to admin_url( 'admin.php' ). Override if you need a different link.

Usage Notes

  • Require the base class before your class if it is not autoloaded: require_once WPD_AI_PATH . 'includes/integrations/WPDAI_Integration_Base.php';
  • Use the text domain alpha-insights-pro for translatable strings so they are consistent with the plugin.
  • Built-in integrations (e.g. Webhooks, ShipStation) live in includes/integrations/register/ and register/pro/ and are auto-discovered by load_and_register_from_directory(); third-party integrations register on wpd_ai_register_integrations.

Related Documentation

  • Creating a Custom Integration – Step-by-step implementation
  • Hooks and Registration – Registration hooks and wpd_ai_save_settings
  • Integrations Overview – How the manager uses the base class

Got A Question?

Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Alpha Insights

Alpha Insights

The World's Most Advanced WooCommerce Profit Reporting Engine

5/5 – Trustpilot

Alpha Insights