Broker for Boat

Description

Broker for Boat connects your WordPress site to the Broker for Boat SaaS platform, automatically publishing your boat inventory as a custom post type.

Features:

  • Automatic boat synchronization from the Broker for Boat API (title, description, price, specs, images).
  • Featured image and gallery import — images are stored in the WordPress media library.
  • Polylang support — creates and updates translations when the SaaS provides them.
  • Inventory cleanup endpoint — removes boats from WordPress that no longer exist in the SaaS.
  • Printable PDF sheet — each boat has a print-friendly page that users can save as PDF from the browser.
  • Configurable slugs for the archive and single boat pages.
  • Admin panel with sync status, debug log, and PDF branding options (logo, footer, contact info).

Requirements:

  • An active Broker for Boat account.
  • An API token configured in the plugin settings.
  • (Optional) Polylang for multilingual sites.

External Services

This plugin connects to the Broker for Boat SaaS platform hosted at https://app.brokerforboat.com.

What data is sent:

  • Your API token (sent in the Authorization header) to authenticate sync requests.
  • Boat listing data (title, description, price, images, specs) is received from the platform and stored locally in WordPress.
  • Contact inquiry form submissions (name, email, phone, message, boat URL) are forwarded to the platform as leads.

When the connection is made:

  • On every periodic sync (configurable: hourly by default) triggered by WordPress Cron.
  • When the Broker for Boat SaaS platform pushes individual boat updates via the REST API endpoint.
  • When a visitor submits the contact inquiry form on a single boat page.

Service provider: Additiu Marketing Digital SL — https://brokerforboat.com

Terms of Service: https://brokerforboat.com/terms

Privacy Policy: https://brokerforboat.com/privacy

Screenshots

  • Plugin settings page — API token, slugs, sync interval and PDF branding.
  • Boat listings in the WordPress admin.
  • Single boat page on the frontend.

Installation

  1. Install the plugin from the WordPress plugin directory or upload the ZIP file.
  2. Activate the plugin from Plugins > Installed Plugins.
  3. Go to Broker for Boat > Settings and enter your API token.
  4. Optionally configure the archive and single page slugs.
  5. Trigger a sync from your Broker for Boat SaaS dashboard or from the plugin admin panel.

FAQ

Do I need a Broker for Boat account?

Yes. The plugin connects to the Broker for Boat API. You need an active account and API token from brokerforboat.com.

Does it support multilingual sites?

Yes, via Polylang. When the SaaS provides translations, the plugin creates or updates the corresponding WordPress posts per language.

How does inventory cleanup work?

The SaaS calls the plugin’s cleanup REST endpoint with the list of active boat IDs. The plugin removes any WordPress posts not in that list.

Can I customize the appearance of boat listings?

The plugin includes default templates for archive and single boat pages. You can override them in your theme by copying the template files to your theme folder.

Can I add my own branding to the PDF sheet?

Yes. In the plugin settings you can set a custom logo, footer text, and contact details (phone, email, website, address) that appear on every PDF.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Broker for Boat” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Broker for Boat” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.3.0

  • WordPress.org compliance: replaced Font Awesome CDN with local SVG icons (no external dependencies).
  • WordPress.org compliance: moved inline admin CSS/JS (edit blocker) to enqueued files.
  • WordPress.org compliance: sanitized all $_GET inputs in archive template using sanitize_text_field() and absint().
  • WordPress.org compliance: replaced dynamic variable in __() calls with static string literals.
  • WordPress.org compliance: moved admin menu to position 80 (Settings area).
  • WordPress.org compliance: removed “Powered by” external link from public archive page.
  • WordPress.org compliance: removed unnecessary load_plugin_textdomain() calls (auto-loaded since WP 4.6).
  • Fixed Plugin URI in plugin header.

1.2.3

  • Fixed WPML compatibility: /boats/ archive now works automatically on install with no manual steps. Uses option_icl_sitepress_settings filter to inject the boat CPT into WPML’s settings at the exact moment WPML reads them, before any caching occurs.

1.2.2

  • Fixed WPML compatibility: archive URL /boats/ now works automatically after install without any manual configuration. The rewrite flush is now deferred to the next request so WPML has time to load the updated CPT settings from the database.

1.2.1

  • Replaced server-side PDF generation (dompdf) with a browser print-to-PDF approach — no PHP dependencies required.
  • Improved PDF layout: fixed-height images, 4-column specs table, neutral branding.
  • Fixed JavaScript intercepting the download button and forcing blob download.

1.2.0

  • Added printable PDF sheet per boat accessible via /boat-pdf/{id}/.
  • Added PDF branding options in settings: logo, footer HTML, phone, email, address, website.
  • Improved edit blocker for SaaS-managed boats in the admin.

1.1.1

  • Fixed canonical redirect blocking boat archive and single pages.
  • Fixed rewrite rules flushing on plugin update.

1.1.0

  • Added Polylang multilingual support with language fallback for boat listings.
  • Added REST API status endpoint.
  • Improved image sync — images are now stored in the WordPress media library.
  • Added configurable sync interval.

1.0.0

  • Initial public release: boat sync, image import, Polylang compatibility, and inventory cleanup endpoint.