groups_notification_group_updated( int $group_id, BP_Groups_Group|null $old_group = null )
Notify all group members when a group is updated.
Description
Parameters
- $group_id
-
(Required) ID of the group.
- $old_group
-
(Optional) Group before new details were saved.
Default value: null
Source
File: bp-groups/bp-groups-notifications.php
function groups_notification_group_updated( $group_id = 0, $old_group = null ) {
$group = groups_get_group( $group_id );
if ( $old_group instanceof BP_Groups_Group ) {
$changed = array();
if ( $group->name !== $old_group->name ) {
$changed[] = sprintf(
__( '* Name changed from "%s" to "%s".', 'buddyboss' ),
esc_html( $old_group->name ),
esc_html( $group->name )
);
}
if ( $group->description !== $old_group->description ) {
$changed[] = sprintf(
__( '* Description changed from "%s" to "%s".', 'buddyboss' ),
esc_html( $old_group->description ),
esc_html( $group->description )
);
}
if ( $group->slug !== $old_group->slug ) {
$changed[] = sprintf(
__( '* Permalink changed from "%s" to "%s".', 'buddyboss' ),
esc_url( bp_get_group_permalink( $old_group ) ),
esc_url( bp_get_group_permalink( $group ) )
);
}
}
/**
* Filters the bullet points listing updated items in the email notification after a group is updated.
*
* @since BuddyPress 2.2.0
*
* @param array $changed Array of bullet points.
*/
$changed = apply_filters( 'groups_notification_group_update_updated_items', $changed );
$changed_text = '';
if ( ! empty( $changed ) ) {
$changed_text = implode( "\n", $changed );
}
$user_ids = BP_Groups_Member::get_group_member_ids( $group->id );
foreach ( (array) $user_ids as $user_id ) {
// Continue if member opted out of receiving this email.
if ( 'no' === bp_get_user_meta( $user_id, 'notification_groups_group_updated', true ) ) {
continue;
}
$unsubscribe_args = array(
'user_id' => $user_id,
'notification_type' => 'groups-details-updated',
);
$args = array(
'tokens' => array(
'changed_text' => $changed_text,
'group' => $group,
'group.id' => $group_id,
'group.url' => esc_url( bp_get_group_permalink( $group ) ),
'group.name' => $group->name,
'unsubscribe' => esc_url( bp_email_get_unsubscribe_link( $unsubscribe_args ) ),
),
);
bp_send_email( 'groups-details-updated', (int) $user_id, $args );
}
/**
* Fires after the notification is sent that a group has been updated.
*
* See https://buddypress.trac.wordpress.org/ticket/3644 for blank message parameter.
*
* @since BuddyPress 1.5.0
* @since BuddyPress 2.5.0 $subject has been unset and is deprecated.
*
* @param array $user_ids Array of user IDs to notify about the update.
* @param string $subject Deprecated in 2.5; now an empty string.
* @param string $value Empty string preventing PHP error.
* @param int $group_id ID of the group that was updated.
*/
do_action( 'bp_groups_sent_updated_email', $user_ids, '', '', $group_id );
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.0.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.