Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/zeeshanraza-official/wpcalibrate-job-board/archive/refs/heads/main.zipWPCalibrate Job Board is a modern, standalone, enterprise-grade WordPress recruitment engine, career portal, and applicant tracking system (ATS). Designed from the ground up with clean object-oriented architecture, it delivers a lightning-fast frontend job browsing experience, self-service portals for employers and job seekers, secure candidate resume vaults, automated transactional emails, and valid Google Jobs structured data.
Table of Contents
About
Why WPCalibrate Job Board?
Traditional WordPress job boards frequently rely on bloated frameworks, force a hard dependency on WooCommerce just for basic listings, or store high-volume application data inside the standard wp_posts and wp_postmeta tables. This causes database bloat and severe query slowdowns at scale.
WPCalibrate Job Board was engineered with a modern software design philosophy:
- Zero WooCommerce Hard Dependency: Works completely standalone out-of-the-box for free job posting. Extensible interfaces (
ListingPackageInterface) and declared High-Performance Order Storage (HPOS) readiness allow commercial monetization add-ons to integrate without altering core logic. - Dedicated High-Speed Database Table: Candidate applications are stored in a dedicated transactional table (
wp_wpcalibrate_job_applications) with compound indexes onjob_id,employer_user_id,candidate_user_id, andstatus. This keeps your site fast even with tens of thousands of applicants. - In-Request Expiry Enforcement: Jobs are checked in real time during browsing and submission; expired jobs are immediately locked against late submissions without waiting for background cron jobs.
Technical Architecture
- Namespace:
WPCalibrate\JobBoard\(PSR-4 compliant) - Bootstrap:
wpcalibrate-job-board.phpwith custom SPL autoloader - Composition Root:
WPCalibrate\JobBoard\Plugincontainer - Custom Post Types:
wpcal_job(Job Listings)wpcal_company(Employer Profiles)
- Taxonomies:
wpcal_job_category(Job Categories)wpcal_job_type(Full-time, Part-time, Contract, Remote, Internship, etc.)wpcal_job_skill(Technical & Soft Skills)
- Custom Table:
{$wpdb->prefix}wpcalibrate_job_applications(Schema version:1.0.0)
Features
Candidate Experience
- Faceted Job Search: Real-time keyword search, location filtering, workplace types (On-site, Hybrid, Remote), category browsing, and job-type filtering.
- Instant Application Flow: Seamless modal or in-page application form supporting cover letters and document attachments (
.pdf,.doc,.docx). - External URL Applications: Supports direct redirect links to external ATS systems (Greenhouse, Lever, Workday) when internal application is disabled.
- Candidate Portal: Frontend dashboard (
[wpcalibrate_candidate_dashboard]) to view submission history, hiring stages, and profile details. - Saved Jobs / Bookmarks: Save listings for later review with authenticated REST API endpoints (
/wp-json/wpcalibrate/v1/saved-jobs).
Employer Self-Service & ATS
- Company Branding Profiles: Dedicated employer profiles with company logo, website URL, headquarters location, company size, and social links.
- Frontend Job Posting: Responsive, validated multi-section submission form (
[wpcalibrate_job_submission]) with salary range, currency, location, workplace type, and expiration deadline. - Applicant Tracking System (ATS):
- Track applicants through 8 recruitment stages: New, Reviewing, Shortlisted, Interview, Offered, Hired, Rejected, Withdrawn.
- Candidate initials avatar, structured profile cards, cover letter reader, and timestamp tracking.
- Private internal employer notes on every candidate submission.
- Secure, authenticated streaming downloads for candidate resume attachments.
Administrator Control & Metrics
- Executive Metrics Dashboard: Overview of active published jobs, pending moderation queue, total pipeline volume, new unread applications, and registered employers/candidates.
- Pending Moderation Queue: Configurable mandatory administrator approval before newly submitted jobs from employers are published publicly.
- Isolated Admin Notice Architecture: Guarantees third-party notices (Elementor, WooCommerce, Core updates) never break the plugin header flexbox.
- 7-Tab Modern Settings API:
General: Core moderation, listing duration, salary privacy, expiry settings.Registration: Account creation rules, default role assignments, password requirements.Pages: Automatic page generator and page assignments.Emails: 8 transactional email templates with safe placeholder tags ({candidate_name},{job_title}, etc.).Privacy: Data retention policies, GDPR personal data exporter and eraser integration.License: Marketplace license validation bridge.Support: Direct documentation links and diagnostic system health info.
Security & Data Protection
- IDOR Protection: Central
Ownershipauthorization service verifies that employers can only inspect their own candidates and manage their own jobs. - Protected Resume Document Vault: Resumes are stored in a private directory (
wp-content/uploads/wpcalibrate-job-board/resumes/) shielded by server-level.htaccessdenial rules and served strictly via tokenized streaming downloads (ResumeService::serveDownload()). - Server-Side File Verification: Enforces MIME validation (
finfo/mime_content_type), extension allowlists (pdf,doc,docx), and file size limits. - GDPR Ready: Integrated with WordPress Core's Export Personal Data and Erase Personal Data tools.
- SEO & Structured Data: Automatic JSON-LD
schema.org/JobPostinggeneration for Google Jobs indexing.
Documentation & Setup Guide
System Requirements
- WordPress: 6.4 or higher (Tested up to 7.1.3)
- PHP: 8.2 or 8.3
- Database: MySQL 5.7+ or MariaDB 10.3+
- Web Server: Apache or Nginx with
.htaccessor private storage support
Installation
Option 1: WordPress Dashboard Upload (ZIP)
- Download the latest
wpcalibrate-job-board-1.0.0.zipfrom the Releases page. - In your WordPress admin, navigate to Plugins → Add New → Upload Plugin.
- Choose the downloaded ZIP file and click Install Now.
- Click Activate Plugin.
Option 2: Git Clone
Clone the repository directly into your WordPress plugins folder:
cd wp-content/plugins/
git clone https://github.com/zeeshanraza-official/wpcalibrate-job-board.git wpcalibrate-job-board
One-Click Updates from WordPress Dashboard
This repository is pre-configured with standard GitHub update headers:
GitHub Plugin URI: https://github.com/zeeshanraza-official/wpcalibrate-job-boardRelease Asset: true
How to enable automatic updates:
- Install and activate the free Git Updater or GitHub Updater plugin on your WordPress site.
- Once activated, any new release tagged on this repository (e.g.
v1.0.1,v1.1.0) will automatically appear as an available update under Dashboard → Updates and Plugins in your WordPress admin! - You can update with a single click just like an official WordPress.org plugin.
Quick Start Roadmap (4 Steps)
- Assign Default Pages:
Go to WPCalibrate → Settings → Pages Tab and click Auto-Generate Pages to generate:
- Jobs Archive (
/jobs/) - Employer Dashboard (
/employer-dashboard/) - Candidate Dashboard (
/candidate-dashboard/)
- Jobs Archive (
- Configure Moderation Policy: Navigate to WPCalibrate → Settings → General Tab. Toggle Job Moderation on if you wish to approve jobs before publication, or off for instant publishing.
- Customize Email Notifications: In WPCalibrate → Settings → Email Notifications, review the 8 automated emails sent to employers and applicants.
- Publish Jobs: Employers can submit openings from the frontend, or administrators can publish directly via WPCalibrate → Post New Job.
Shortcodes Reference
| Shortcode | Description | Example Usage |
|---|---|---|
[wpcalibrate_jobs] |
Main searchable job listings with keyword, location, and facet filters | [wpcalibrate_jobs per_page="12" show_filters="yes"] |
[wpcalibrate_job_details] |
Detailed single job listing layout | [wpcalibrate_job_details id="105"] |
[wpcalibrate_job_submission] |
Employer frontend job posting form | [wpcalibrate_job_submission] |
[wpcalibrate_employer_dashboard] |
Complete self-service employer portal | [wpcalibrate_employer_dashboard] |
[wpcalibrate_candidate_dashboard] |
Complete candidate application portal | [wpcalibrate_candidate_dashboard] |
[wpcalibrate_candidate_saved_jobs] |
Standalone candidate bookmarked jobs list | [wpcalibrate_candidate_saved_jobs] |
[wpcalibrate_candidate_applications] |
Standalone candidate submission history | [wpcalibrate_candidate_applications] |
Gutenberg Blocks
The plugin includes two server-side rendered Gutenberg blocks compatible with the Full Site Editing (FSE) block editor:
wpcalibrate/job-listings: Interactive job feed with block controls for items per page, workplace type, and category filters.wpcalibrate/featured-jobs: Compact curated carousel/grid highlighting featured opportunities.
Roles & Access Control Matrix
| Role | Submit Jobs | Manage Own Jobs | Manage Company | Apply to Jobs | Review Applicants | Manage All Settings |
|---|---|---|---|---|---|---|
| Administrator | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Employer (wpcal_employer) |
✅ | ✅ | ✅ | ❌ | ✅ (Own Only) | ❌ |
Candidate (wpcal_candidate) |
❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Guest / Public | ❌ | ❌ | ❌ | ✅ (If enabled) | ❌ | ❌ |
Theme Overrides
Custom frontend templates can be overridden in your active WordPress child theme without losing changes on plugin updates:
- Create a folder named
wpcalibrate-job-board/inside your active theme directory:wp-content/themes/your-theme/wpcalibrate-job-board/ - Copy any template file from
wpcalibrate-job-board/templates/into that directory. - The plugin will automatically detect and load your theme's template.
Changelog
[1.0.3] - 2026-10-19
- Fixed: WordPress Core notice relocation bug where Elementor Pro and onboarding notices broke the
.wpcalibrate-headerlayout. - Added: Screen-reader heading anchor
<h1 class="wp-heading-inline screen-reader-text">and<hr class="wp-header-end">across all admin views. - Enhanced: Navigation tabs upgraded to modern pill-style segmented tab bar (
.wpcal-nav-tabs). - Enhanced: Metric cards grid made responsive (6 cols on desktop, 3 cols on tablet, 2 cols on mobile) with tinted icon wraps (
.wpcal-metric-icon-wrap). - Enhanced: 2-column layout collapse breakpoint lowered to 920px for laptop displays.
- Enhanced: Recent applications empty state redesigned with circular icon badge (
.wpcal-empty-icon-box).
[1.0.2] - 2026-10-17
- Added: Modern elevated card design system across all 7 Settings tabs (
.wpcal-settings-card). - Added: Redesigned single application review screen with candidate initials avatar, hiring stage switcher, and protected resume streaming trigger.
- Added: 4-tier Roles & Access Control matrix to Overview & How-To guide.
- Enhanced: Admin stylesheet expanded with WCAG AA compliant contrast and smooth hover transitions.
[1.0.1] - 2026-10-17
- Fixed: Admin sidebar menu icon scaling; official white logo icon scaled crisply to 20x20px.
- Added: Comprehensive Overview & Guide tab on the main Job Board admin screen.
- Added: Dynamic pending moderation alert banner on the operational dashboard.
[1.0.0] - 2026-10-17
- Initial Production Release: Core architecture, custom post types (
wpcal_job,wpcal_company), taxonomies, transactional applications table, IDOR security, resume vault, 8 transactional emails, REST API endpoints, 7 shortcodes, 2 Gutenberg blocks, and WooCommerce HPOS bridge.
Contributing & Support
- Author: WPCalibrate
- Marketplace: marketplace.wpcalibrate.com
- Support Email: support@wpcalibrate.com
- Bug Reports & Issues: Please file issues on the GitHub Issue Tracker.
License
This project is licensed under the GNU General Public License v2.0 or later - see the LICENSE.txt file for details.