Skip to content

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 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.

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 adds these emails to the free plugin’s email list. Turn each on or off and edit its subject under Career Board > Settings > Emails.

Email 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.

  • Theme override - put a file at your-theme/wp-career-board/emails/{email-id}.php. For example wp-career-board/emails/credit-topup.php.
  • Plugin templates - Add your own template folder with the wcb_email_template_dirs filter.

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.