bbp_buddypress_add_topic_notification( int $topic_id, int $forum_id )
Hooked into the new topic function, this notification action is responsible for notifying topic.
Description
Parameters
- $topic_id
-
(Required)
- $forum_id
-
(Required)
Source
File: bp-forums/notifications.php
function bbp_buddypress_add_topic_notification( $topic_id, $forum_id ) { // If our temporary variable doesn't exist, stop now. if ( empty( buddypress()->forums->mentioned_users ) ) { return; } // Get some topic information $args = array( 'item_id' => $topic_id, 'secondary_item_id' => get_current_user_id(), 'component_name' => bbp_get_component_name(), 'component_action' => 'bbp_new_at_mention', ); // Grab our temporary variable from bbp_convert_mentions(). $usernames = buddypress()->forums->mentioned_users; // Get rid of temporary variable. unset( buddypress()->forums->mentioned_users ); // We have mentions! if ( ! empty( $usernames ) ) { // Send @mentions and setup BP notifications. foreach ( (array) $usernames as $user_id => $username ) { // Current user is the same user then do not send notification. if ( $user_id === get_current_user_id() ) { continue; } $args['user_id'] = $user_id; // If forum is not accesible to user, do not send notification. $can_access = bbp_user_can_view_forum( array( 'user_id' => $user_id, 'forum_id' => $forum_id, 'check_ancestors' => true ) ); /** * Filters bbPress' ability to send notifications for @mentions. * * @param bool $value Whether or not BuddyPress should send a notification to the mentioned users. * @param array $usernames Array of users potentially notified. * @param int $user_id ID of the current user being notified. * @param int $forum_id ID of forum. * * @since BuddyBoss 1.2.9 * */ if ( ! apply_filters( 'bbp_forums_at_name_do_notifications', $can_access, $usernames, $user_id, $forum_id ) ) { continue; } bp_notifications_add_notification( $args ); } } }
Changelog
Version | Description |
---|---|
BuddyBoss 1.2.8 | 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.