Skip to content

Developer Guide - Overview

WP Career Board overviewFree + ProGet WP Career Board →

WP Career Board Pro is built as an extension of WP Career Board (Free), not a fork. Pro extends Free through Free’s hooks. The runtime guard (wcbp_free_active()) makes sure Pro degrades gracefully when Free is deactivated.

Use this guide when:

  • You’re writing an addon that consumes Pro features (resume builder, application kanban, AI hiring tools, credit SDK).
  • You want to see how Pro and Free work together.
  • You’re writing a custom credit adapter or payment gateway.

For Free-side dev surface (the hooks, REST endpoints, and CLI commands every site is built on), start with the Free developer guide (see the WP Career Board docs).

Pro extends Free through four rules. The check script (bin/architecture-checks.sh) enforces A1-A3; A4 is enforced in code review:

ID Title What it guards
A1 Lockstep version Pro and Free keep the same version number in their plugin headers, so a half-updated install shows up in the check.
A2 Dependency guard Pro defines wcbp_free_active() and uses it to gate boot. Deactivating Free does not fatal Pro.
A3 REST namespace shared, paths disjoint Both register under wcb/v1; Free and Pro routes never collide.
A4 No source modification Pro hooks Free via documented filters only. Never patches Free’s classes.

If you’re shipping your own Pro-side addon, follow the same invariants - they’re the operational contract that lets Pro and the addon coexist without one breaking the other.

Layer Where Purpose
Blocks blocks/<name>/render.php + view.js Pro blocks such as kanban, alerts, resume builder and search, credit balance, AI chat search, and job and resume maps
REST API api/endpoints/class-*-endpoint.php Pro routes under wcb/v1/* extending Free’s WCB\Api\RestController (via Pro’s WCB\Pro\Api\ProRestController); see the REST API reference
Modules modules/<area>/ Pro features, one folder each, for example ai, alerts, boards, credits, fields, maps, pipeline, push, resume
SDK libs/wbcom-credits-sdk/ Wbcom Credits SDK (bundled in libs/, not vendor/, so it ships in release zips). Adapters: WooCommerce, WC Subscriptions, WC Memberships, PMPro, MemberPress. Gateways: Stripe, PayPal
Core core/class-*.php Lifecycle: ProInstall, ProPlugin, License, FreeCoordination
Doc What’s inside
02-extending-free.md The canonical Pro-extends-Free contract - dependency guard, REST sharing, lockstep
03-hooks-reference.md Pro’s own actions and filters
04-credits-sdk.md The Wbcom Credits SDK - registration, consumers, adapters, gateways, ledger
05-ai-providers.md The AI hiring tools - REST endpoints, provider drivers, and how to add your own provider
06-rest-api-reference.md The Pro REST routes: method, who may call it, parameters
07-shortcodes.md The Pro shortcodes and their attributes

Working against Pro from a third-party plugin

Section titled “Working against Pro from a third-party plugin”

To build an addon that depends on Pro:

  1. Declare Pro as a Requires Plugins: header in your main file.
  2. Gate your runtime hooks behind a defined( 'WCBP_VERSION' ) check.
  3. Verify your minimum Pro version with version_compare() against WCBP_VERSION.
  4. Hook into Pro’s documented actions/filters from 03-hooks-reference.md. Never reach into internal classes - those aren’t part of the public contract.

Pro’s bin/architecture-checks.sh (run with composer arch-checks) is a working example of a check script you can copy for your own addon.