Skip to content

Activity Stream Entries

Job and hiring milestones automatically post to the BuddyPress activity stream so the community can see what is happening across the careers side of the site. This integration boots only when the BuddyPress Activity component is active (bp_is_active( 'activity' )).

Trigger Activity type Component Where it shows
Job approved on the site-wide board wcb_job_posted wcb Site-wide activity feed
Job approved on a group’s board wcb_job_posted groups The group’s activity tab + site-wide feed
Application moves to Hired wcb_member_hired wcb Site-wide activity feed

Two action types are registered in the activity directory dropdown so visitors can filter the stream by them: Job posted (wcb_job_posted) and Member hired (wcb_member_hired).

Job approvals route to groups; hires do not. When an approved job lives on a group board (its board has _wcbp_group_id set and the BP Groups component is active), the entry is re-pointed at that group so it appears in the group’s activity tab. The “hired” entry always posts to the site-wide wcb component - it is not routed into a group.

  • Job approval: “Acme Inc posted a new job: Senior Backend Engineer.” - the company name links to the user profile, the title links to the job single page.
  • Hire: “🎉 Sarah Chen was hired for Senior Backend Engineer.” - the candidate name links to their profile, the title links to the job.

By design the integration does not post on:

  • Pending jobs - only approved jobs trigger wcb_job_approved, so the moderation queue stays private.
  • Application submitted / under review / shortlisted / not selected - only the “hired” status posts publicly. Every other status change is private to the candidate (delivered via the notification bell) so a public stream doesn’t shame people through the funnel.

To keep the site quiet - for example a careers extension on a community site where members don’t want a job firehose in their feed - remove the two actions. Match the method names on the BpActivity class exactly:

remove_action( 'wcb_job_approved', array( 'WCB\Pro\Integrations\Buddypress\BpActivity', 'on_job_approved' ) );
remove_action( 'wcb_application_status_changed', array( 'WCB\Pro\Integrations\Buddypress\BpActivity', 'on_status_changed' ) );

Because both are registered against an object instance, the most robust way to detach them is to remove the whole filter on a class you can reach, or use remove_all_actions() carefully. If you only want to suppress the public entry without touching the rest of the integration, short-circuit at the source instead - e.g. skip the underlying wcb_job_approved / wcb_application_status_changed events upstream.

The activity text is built inside BpActivity and wrapped in __() with the wp-career-board-pro text domain, so you can translate it with Loco Translate, WPML, or Polylang the same way you translate any other plugin string. There is no dedicated content filter for the activity wording in this release; rewrite the strings through translation, or remove the default actions (above) and re-add your own bp_activity_add() callbacks on wcb_job_approved / wcb_application_status_changed.