BuddyPress ability reference
Reference for the GoBuildWP Pro 1.12.4 source. Installed schemas and policy remain authoritative.
This BuddyPress ability reference covers how an agent looks up a community's members and its groups without pulling private profile data, and how it creates, edits and permanently deletes BuddyPress groups. The riskier group changes need confirm=true, which the agent sets itself by default; a person approves them only when the site's confirmation mode is set to human.
Read-only, write and destructive groups describe the source annotations. They do not establish a minimum safety profile, human approval or undo support. Those controls are separate: check the installed ability, the connected user and the active site policy before calling it. A read can still return sensitive data. These pages are not evidence that every operation passed an end-to-end runtime test.
What BuddyPress needs before these load
BuddyPress 14.0.0 or newer must be active; the gate needs BP_VERSION, bp_core_get_users() and groups_get_groups(). Group calls also need the Groups component switched on, otherwise they return buddypress_groups_inactive. Access is decided by GoBuildWP's own check, which wants AI abilities enabled and a user holding manage_options, rather than by BuddyPress roles. buddypress-check-setup reports which components are active (members, xprofile, activity, groups, friends, messages and notifications) and whether the user can manage the community through manage_options or bp_moderate.
- Minimum (base)
- 14.0.0
WPPILOT_PRO_BUDDYPRESS_MIN_VERSION - BuddyPress editions
- free
- Agent skills shipped
buddypress-integration
What a member record leaves out
A member comes back as id, display name, nicename, registration date, last activity, member types, the ids of groups they belong to and their profile URL. Email addresses, private messages, xProfile field values and activity content are not part of the record, and the agent is told not to infer private details from the public ones. The member list sorts by active, newest, alphabetical or popular, filters by search text and member type, and pages at up to 100 members, so a narrow question can be answered with a narrow result.
Creating, editing and deleting groups
A group row carries name, slug, description with tags stripped, status (public, private or hidden), creator, parent, the forum flag, member count, last activity and URL; buddypress-get-group adds the administrator and moderator ids. Groups are created through groups_create_group(), defaulting to the calling user as creator and to public status, and the creator becomes the group's administrator. Edits pass through the same function with the group id and keep every field not sent. A group cannot be its own parent (buddypress_invalid_parent_group), and a parent that does not exist returns buddypress_parent_group_not_found.
Editing and deleting are annotated destructive, so GoBuildWP's confirmation gate wants confirm: true before either runs, and the agent is told to explain any privacy change beforehand. Deletion has no trash: membership records, invites and group meta go with the group. The call checks afterwards that the group is gone and reports how many members it had.
Before accepting the result
Review privacy defaults before group creation or edits. Confirm the exact target and deletion effects before group deletion; hidden-group visibility follows connected capabilities, not public discoverability.
Representative call sequence
This sequence describes the documented calls and checks to perform. It is not a recorded result from an installed WordPress site. Inspect returned errors and partial results, then verify the saved values and affected output before proceeding.
Hide the Beta testers group from the directory and tell me who runs it.
- 01
wppilot/buddypress-list-groupsFinds the group by name and returns its id, current status and member count. - 02
wppilot/buddypress-get-groupReturns the administrator and moderator ids for the group. - 03
wppilot/buddypress-get-memberResolves an administrator id to a display name and profile URL, without email or profile fields. - 04
wppilot/buddypress-edit-groupSets status to hidden with confirm=true once the user has agreed to the privacy change, and returns the group as stored.
BuddyPress groups in practice
Finding hidden groups, and other BuddyPress listing defaults
wppilot/buddypress-list-groups leaves hidden groups out unless show_hidden: true is sent. An agent asked about every group on the site, or about one it knows is hidden, has to ask for them explicitly, and a summary built without that flag will quietly under-count. The listing can also filter by a single status (public, private or hidden), search names with up to 200 characters, and sort by active, newest, alphabetical or popular. It returns 20 groups per page by default and at most 100.
Each group row includes member_count and last_activity, which is usually enough to answer questions such as which groups have gone quiet, without reading any member data. When a question does need people, wppilot/buddypress-get-group returns the administrator and moderator ids, and wppilot/buddypress-get-member turns each id into a display name and profile link.
What BuddyPress group fields accept, and how they are stored
wppilot/buddypress-edit-group needs at least one field besides group_id. It re-sends the full group to groups_create_group() with the current values for anything left out, and always keeps the original creator and creation date, so an edit never transfers ownership.
- name: required on create, 1 to 200 characters, plain text after sanitising. An edit that would blank it returns buddypress_group_name_required.
- description: up to 50,000 characters, filtered as post content, so safe HTML such as links and emphasis is kept. Reads return it with tags stripped, so a read-back looks plainer than what was stored.
- slug: optional, up to 200 characters, normalised the way WordPress normalises post slugs. Leave it out unless the site owner wants a particular URL.
- status: public, private or hidden. A create without it makes a public group, so private communities must ask for private explicitly.
- creator_id: an existing user, defaulting to the connected account. An unknown id returns buddypress_member_not_found, and the creator becomes the first administrator.
- parent_id and enable_forum: a parent must be an existing group other than the group itself. The forum flag is stored on the group; this module does not create or manage forum content, so check on the site that a forum actually appears.
Confirmation and undo for BuddyPress group changes
wppilot/buddypress-check-setup reports manage_community as true for anyone with manage_options or BuddyPress's bp_moderate capability, but the calls themselves go through GoBuildWP's own permission check, which wants manage_options. A community moderator who is not a site administrator therefore sees the flag set and still cannot run these calls; connect with an administrator account instead. Under the Read Only safety profile only the five reads load. wppilot/buddypress-create-group is an ordinary write, so the confirmation gate does not stop it; its instructions still tell the agent to state the privacy status and the creator before creating. Edit and delete are annotated destructive and need confirm: true, or a person's approval when the site requires human confirmation.
None of the three writes can be reversed with wppilot/rollback-change, because groups live in BuddyPress's own bp_groups tables, which the change ledger records as irreversible. An unwanted create is undone by deleting the new group. An edit is undone by sending the earlier values back, which is why the agent should read the group immediately before editing and keep that output. A delete cannot be undone at all from GoBuildWP: memberships, invitations and group meta go with it, so take a database backup first if the group might be wanted again.
BuddyPress refusals and what each one means
The module has no calls for adding or removing members, promoting moderators, sending invitations, member types, friendships, activity, private messages or xProfile fields. Those stay in BuddyPress's own screens. A request to try on staging: create a private Volunteers group with our coordinator as creator. Afterwards, open the group as the coordinator to confirm they are its administrator, then log out and check that the group page does not show its content to visitors.
- buddypress_groups_inactive: the Groups component is switched off in BuddyPress's settings. Every group call, including the reads, returns it.
- buddypress_group_not_found and buddypress_parent_group_not_found: the id, or the parent id, does not match a group.
- buddypress_invalid_parent_group: the edit tried to make a group its own parent.
- buddypress_group_create_failed and buddypress_group_update_failed: BuddyPress itself refused the save, which is often a plugin hooked into group saving. Nothing was changed.
- buddypress_group_delete_failed and buddypress_group_delete_verification_failed: the delete was refused, or the group could still be loaded afterwards. Read the group before trying again.
Questions about BuddyPress
Can the agent read a member's email or profile fields?
No. Member records exclude email, messages, xProfile values and activity content by design.
Can a deleted group be restored?
Not from GoBuildWP. BuddyPress has no trash for groups, the delete removes memberships, invites and group meta along with it, and the change ledger cannot undo it. Only a database backup taken before the delete can bring it back.
Why do the group calls fail when BuddyPress is active?
The Groups component is switched off in BuddyPress's settings. check-setup lists which components are active.
BuddyPress reads
| Ability | What it does |
|---|---|
wppilot/buddypress-check-setupCheck BuddyPress Setup | Reports the BuddyPress version, active components, privacy-bounded member count, group count, and community administration capability. |
wppilot/buddypress-get-groupGet BuddyPress Group | Reads one BuddyPress group with admin/moderator IDs and full operational metadata, without exporting member profile data. |
wppilot/buddypress-get-memberGet BuddyPress Member | Reads one BuddyPress member using the same privacy-bounded shape as list-members. It excludes email, messages, xProfile values, and activity content. |
wppilot/buddypress-list-groupsList BuddyPress Groups | Lists BuddyPress groups with privacy status, parent, creator, forum state, activity, member count, and bounded pagination. |
wppilot/buddypress-list-membersList BuddyPress Members | Lists BuddyPress members with public identity, last activity, member types, group IDs, and bounded pagination. Email and xProfile field values are deliberately excluded. |
BuddyPress writes
| Ability | What it does |
|---|---|
wppilot/buddypress-create-groupCreate BuddyPress Group | Creates a BuddyPress group through groups_create_group(), making the selected creator the first group administrator. |
Destructive BuddyPress calls
| Ability | What it does |
|---|---|
wppilot/buddypress-delete-groupDelete BuddyPress Group | Permanently deletes a BuddyPress group, its membership records, invites, and group metadata. There is no trash state. |
wppilot/buddypress-edit-groupEdit BuddyPress Group | Partially edits BuddyPress group identity, privacy status, parent, and forum flag through the public group API. Privacy changes require confirmation. |
For the task-level view of BuddyPress, with worked requests and what to check afterwards, see BuddyPress integration page.