Skip to content

Developer Guide - Overview

This guide covers WP Career Board Pro 1.4.3.

WP Career Board Pro is built as an extension of WP Career Board (Free), not a fork. Every Pro feature consumes Free’s hooks; Free never knows specifically about Pro. 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’re auditing the Free/Pro coupling contract.
  • 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.

Pro extends Free via four invariants (plan/INVARIANTS.yaml A-group). The local-CI gate (bin/architecture-checks.sh) automatically enforces A1-A3 on every push; A4 is a review-enforced rule:

ID Title What it guards
A1 Lockstep version WCBP_VERSION always equals WCB_VERSION. Half-installs (one updated, the other not) are impossible.
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 16 Pro blocks (kanban, alerts, resume builder/search, credit balance, AI chat search, job/resume maps, etc.)
REST API api/endpoints/class-*-endpoint.php 34 Pro routes under wcb/v1/* extending Free’s WCB\Api\REST_Controller (via Pro’s WCB\Pro\Api\Pro_REST_Controller)
Modules modules/<area>/ Pro features: ai, alerts, analytics, boards, credits, feed, fields, maps, migration, notificationsbell, notificationspro, pipeline, pwa, 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 a 4th provider

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.

The full template (including composer arch-checks for your own addon) is in the Free repo’s bin/architecture-checks.sh - copy it, change the namespace, add your invariants.