Notifications
You can keep employers, candidates and administrators informed through the notification bell, send job alert and credit emails, and reach members on the companion app with push notifications.
The notification bell
Section titled “The notification bell”The bell, its badge and dropdown come from the free plugin (Employer Dashboard and Candidate Dashboard blocks). Pro writes the rows.
| Event | Who gets it | Message |
|---|---|---|
| Application submitted | Employer | “Jane Doe applied for Senior PHP Developer” |
| Application submitted | Candidate | “Your application for Senior PHP Developer was submitted” |
| Status changed | Candidate | “Your application for Senior PHP Developer is now Shortlisted” |
| Job removed | Candidate | “The job you applied to, Senior PHP Developer, was removed” |
| Job closed | Candidate | “The job you applied to, Senior PHP Developer, is now closed” |
| Job approved | Employer | “Your job “Senior PHP Developer” has been approved” |
| Job not approved | Employer | “Your job “Senior PHP Developer” was not approved” |
| Job expired | Employer | “Your job “Senior PHP Developer” has expired” |
| Job ending soon | Employer | “Your job “Senior PHP Developer” stops taking applications in 3 days” |
| Featured ended | Employer | ““Senior PHP Developer” is no longer featured” |
| Job reported | Administrators | “The job “Senior PHP Developer” was reported” |
| Member reported | Administrators | “Jane Doe was reported” |
Notes:
- Removed and closed jobs get their own sentence, not “is now Job removed”. A candidate who withdraws their own application gets no notification.
- Ending soon is sent 3 days before the job’s deadline.
- Reports notify up to 20 administrators. A job report notifies on the first report and again when the report count hides the job. A member report notifies on the first open report.
- Applications - a candidate’s application notification opens their Applications tab, and it is removed when the application is deleted. “Someone applied” notifications go only to people who hire.
- Dead links - if the job, company or resume a row points to was deleted or is no longer public, the row shows as plain text instead of a link. A closed or expired job keeps its public page, so its link still works.
- Times show as relative times, such as “2h ago”, in the site language.
- Old rows are deleted with the free plugin’s history retention setting.
The bell REST routes are GET /wcb/v1/notifications, DELETE /wcb/v1/notifications, DELETE /wcb/v1/notifications/{id}, POST /wcb/v1/notifications/{id}/read and POST /wcb/v1/notifications/read-all. All need a signed-in user and act only on that user’s rows.
Push notifications
Section titled “Push notifications”Every bell row is also sent as a push to the member’s signed-in companion app devices, through Expo’s push service. Push is sent in the background, so the action that caused it is not slowed down.
- A device is registered when the member signs in to the app (
POST /wcb/v1/push/register-device). A shared device that signs in as another member moves to the new account. - Devices Expo reports as no longer registered are removed.
- Deleting a member’s account removes their devices.
There is nothing to set up on the site. The web app does not send browser push. See PWA.
Pro emails
Section titled “Pro emails”Pro adds these emails to the free plugin’s email list. Turn each on or off and edit its subject under Career Board > Settings > Emails.
| To | When | |
|---|---|---|
Job Alert Digest (job-alert) |
Candidate | Matching jobs for a saved alert |
Confirm Job Alert (guest) (job-alert-confirm) |
Visitor | A visitor saves an alert with an email |
Credit Top-Up Confirmation (credit-topup) |
Employer | Credits are added to an account |
Credit Purchase Receipt (credit-receipt) |
Employer | A credit purchase completes |
Credit Refund (credit-refund) |
Employer | Credits are refunded or removed |
Low Credit Balance Warning (low-balance) |
Employer | Balance falls to the low-balance level |
Featured Listing Ended (featured-expired) |
Employer | A job’s featured period ends |
Members can turn off the optional emails for themselves: Job Alert Digest, Low Credit Balance Warning and Featured Listing Ended. They do this under Email Notifications on the Account Settings tab of the Employer Dashboard or Candidate Dashboard. The other emails are always sent when enabled.
Featured Listing Ended has a bell row of its own, so its email does not add a second one.
Customize email templates
Section titled “Customize email templates”- Theme override - put a file at
your-theme/wp-career-board/emails/{email-id}.php. For examplewp-career-board/emails/credit-topup.php. - Plugin templates - Add your own template folder with the
wcb_email_template_dirsfilter.
For developers
Section titled “For developers”Whenever the bell creates a row, it fires wcb_notification_created with the row as the first argument and the community notification contract payload as the second. The payload is null for admin-only rows such as reports. A central inbox (BuddyNext or another add-on) can listen once and mirror every row:
add_action( 'wcb_notification_created', function ( array $row, ?array $contract ) { if ( null === $contract ) { return; } // recipient_id, type, actor_id, object_type, object_id, message, url, group_key, notification_id.}, 10, 2 );The payload is described in the free plugin’s hooks reference under “Community notification contract”. Pro declares one type of its own, job_featured_expired, with the wcb_community_notification_types filter. A candidate’s own “application submitted” row has the candidate as its own actor, so it is not treated as a community event.
To keep an event from being announced twice, an add-on that records the same event returns false from wcb_email_announces_notification for that email and fires wcb_notification_created itself. The bell does this for the application, job approval, rejection, expiry, ending soon and featured ended emails.

