H Habla docs

WordPress & WooCommerce

Plugin distribution

Habla ships with two admin-editable knobs that control the "Need the plugin?" copy + download CTA rendered at the bottom of every workspace's /app/integrations page (in the WordPress / WooCommerce card). Use them to point workspace owners and admins at your hosted plugin mirror — for example an S3 bucket, a WordPress.org listing, or a versioned URL on your own domain.

The WordPress plugin is optional. Workspace members who only need the chat widget on a non-WordPress site (or on WordPress without sync/WooCommerce features) can use the manual HTML embed documented in Embed the widget instead. Manual embed is not a full substitute for plugin content sync or WooCommerce integration.

How distribution actually works

  1. Workspace download (normal SaaS path) — workspace owners and admins open Integrations and click Download plugin when a super_admin has set wordpress_plugin_download_url below.
  2. Platform super_admin build — operators with the super_admin role open /admin/integrations/wordpress, click Build latest, then Download. Regular workspace members cannot access this surface.
  3. CLI buildphp artisan pitchbar:build-wp-plugin on the Habla host writes storage/app/private/wp-plugin-builds/pitchbar-{version}.zip for operator distribution.

The tenant app does not automatically expose a freshly built zip to every workspace member. Build artifacts live under storage/app/private/wp-plugin-builds/ and are streamed only from the super_admin distribution page unless an operator copies that URL into the field below.

Where to set them

Super-admin only. Sign in as a platform admin and visit /settings/system#integrations (the "Integrations" tab inside System settings — the WordPress plugin block lives there alongside the workspace-facing integration toggles). Two fields:

  • Download URL — absolute https:// link to the .zip (or to your WP.org listing). Becomes a "Download plugin" link rendered next to the existing "WordPress install & connect" doc link. Validated as a URL, max 500 chars.
  • Help text — short blurb that replaces the default customer guidance on the integrations card. Max 2000 chars. Leave blank to fall back to the default.

What customers see

On Integrations the WordPress card footer reads:

{help_text} Download plugin · WordPress install & connect

When the download URL is configured, workspace owners/admins see the help text (or the default guidance) plus a working Download plugin button and the setup guide link.

When the download URL is blank, customers see a neutral message that the plugin is currently unavailable and should contact their workspace administrator. The download anchor is omitted so we never render a dead link.

Only workspace owners and admins can open /app/integrations. Editors and viewers are blocked. Creating the WordPress API token at /settings/api-tokens requires the same owner/admin role and the wp:integration ability.

Why customize this

  • You're hosting the plugin on WordPress.org and want customers landing through their wp-admin's plugin search instead of a direct zip download.
  • You're running a Habla fork under your own brand ("Replibar", "Whispbar", "Dirty Good") and want the workspace integrations page to deep-link to your own mirror.
  • You run a paid SaaS with a separate plugin distribution channel (your own storefront, S3 bucket, CDN) and want the workspace integrations page to deep-link there.
  • You built a zip at /admin/integrations/wordpress and want workspace admins to download it without ssh — paste that download URL (or a mirror) into the field above.

Security notes

  • The "Download URL" is rendered as a plain <a href> with target="_blank" + rel="noopener noreferrer". Validation rejects non-URL strings, but the link still goes wherever you point it — only super-admins can change this field.
  • Help text is rendered as plain text (no HTML escaping bypass). Putting markdown or HTML in there won't render — it shows as literal characters.

Related