Skip to content

Developer Guide - Overview

WP Career Board is built to be extended. The plugin fires 108 unique hooks (actions and filters), registers 41 REST routes, 5 WP-CLI command groups, and ships a JSON manifest that lets your code (or another plugin) reach into every part of the job-board flow without forking the source.

Version note: this guide tracks WP Career Board 1.4.3. Exact counts are re-enumerated on every release in audit/manifest.summary.json - treat that file as the canonical number if it ever disagrees with this prose.

Use this guide when:

  • You’re building a custom job-board theme or feature.
  • You’re writing a companion plugin that integrates with Career Board (e.g. a Slack notifier, a Salesforce sync, a custom apply flow).
  • You’re auditing the plugin’s surface area before going live.

For customers running a job board: use the for-employers, for-candidates, and admin-guide directories instead. This section assumes you read code.

Layer Where Purpose
Blocks blocks/<name>/render.php + view.js Customer-facing UI - server-rendered, hydrated by the Interactivity API
Shortcodes core/class-plugin.php::register_shortcodes() 18 shortcode tags wrapping the frontend blocks (page builders, classic editor)
REST API api/endpoints/class-*-endpoint.php 41 routes under wcb/v1/* - all extending WCB\Api\RestController
Modules modules/<area>/ Feature modules: jobs, applications, candidates, employers, boards, antispam, gdpr, moderation, notifications, themeintegration
Core services core/class-*.php Cross-cutting: Settings, Abilities, Locations, Pro coordination, Theme accent bridge
CLI cli/class-*.php wp wcb * command groups - jobs, applications, migrate, scale benchmark

Every layer follows the same conventions:

  • All globals prefixed wcb_.
  • All abilities use wcb/<slug> (kebab-case, namespaced).
  • All REST routes register through WCB\Api\RestController.
  • All DB writes go through $wpdb->prepare().
Doc What’s inside
02-hooks-reference.md Every action and filter the plugin fires, grouped by area
03-rest-api.md The full REST endpoint catalog with auth, params, response shape
04-wp-cli.md WP-CLI commands and arguments
05-extension-cookbook.md Recipes for common extension tasks

If you’re building a Pro-like companion plugin, also read:

  • wp-career-board-pro/docs/website/developer-guide/02-extending-free.md
    • the canonical contract for extending Free, including the dependency guard, REST namespace sharing, and lockstep version requirements.
  • plan/INVARIANTS.yaml in either repo - machine-enforceable architectural invariants the local-CI gate checks on every commit.

For introspecting the plugin programmatically:

  • audit/manifest.json - canonical inventory of every block, REST endpoint, hook, CPT, taxonomy, capability, service, and CLI command. Generated by /wp-plugin-onboard. Refreshed on every release.
  • audit/journeys/ - customer-flow regression sentinels. Each journey is a Markdown file that the smoke skill walks before a release tag.
  • audit/qa-coverage.json - coverage gate tracking which REST/CLI/hook surfaces have regression tests. Pre-commit hook blocks reductions in coverage.

If you’re building tooling that reads any of these, do so via the manifest’s $schema - it’s stable and versioned.