Digital Sovereignty for everyone

Approval notifications

Everyone who can approve membership applications on a site (the add_users capability, the same one that gives access to Users > Pending Approval) gets a BuddyPress notification when applications are waiting. It is a BuddyPress notification only; no email is sent.

What approvers see

  • One notification per site, never one per application: “Jane Smith applied to join Princes Park Touch”, or “Jane Smith and 4 others applied to join Princes Park Touch”. The name is the most recent applicant and the site name is always shown, because notifications are shared across the network.
  • It links to Users > Pending Approval on that site.
  • The text is worked out each time it is shown, from the applications pending at that moment, so the count is always current.

When it changes

  • New application. Only a complete application counts: one that has passed the required-details check and accepted the terms, so it appears under Pending Approval. The approver’s notification for that site is replaced and comes back unread. Incomplete applications never notify.
  • Opening Pending Approval marks the approver’s notification for that site read.
  • Approving or rejecting. Once nothing on the site is pending, every approver’s notification for it is deleted. While anything is still pending it is left alone, since the live count already reflects the change.

How it is stored

Component lh_membership, action membership_pending. The item_id is the blog ID and the secondary_item_id the latest applicant, the same shape BuddyPress uses for group membership requests. Someone who later loses add_users may keep a stale row; it shows nothing once the site has no pending applications.

Hooks

  • lh_membership_pending_application_approver_ids ( int[] $user_ids, int $blog_id ): who is notified.
  • lh_membership_make_user_member_in_backend ( int $user_id ): fires after an application is approved.
  • lh_membership_decline_application_in_backend ( int $user_id ): fires after an application is rejected.

The code is in includes/lh-membership-pending-notifications-class.php. (Since 2.98.0.)

If you like this plugin please consider making a donation to further development

Install LHero.org

lhero.org

Open it straight from your home screen, full screen and quicker to load.

  1. Tap the Share button . If you cannot see it, tap ••• first.
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add.
  1. Tap the browser menu â‹®.
  2. Tap Install app or Add to Home screen.
  1. In the menu bar, choose File, then Add to Dock.

Use your browser's menu to install this site or add it to your home screen.