friends_add_friend( int $initiator_userid, int $friend_userid, bool $force_accept = false )
Create a new friendship.
Description
Parameters
- $initiator_userid
-
(Required) ID of the "initiator" user (the user who is sending the friendship request).
- $friend_userid
-
(Required) ID of the "friend" user (the user whose friendship is being requested).
- $force_accept
-
(Optional) Whether to force acceptance. When false, running friends_add_friend() will result in a connection request. When true, running friends_add_friend() will result in an accepted friendship, with no notifications being sent. Default: false.
Default value: false
Return
(bool) True on success, false on failure.
Source
File: bp-friends/bp-friends-functions.php
function friends_add_friend( $initiator_userid, $friend_userid, $force_accept = false ) { // You cannot be friends with yourself! if ( $initiator_userid == $friend_userid ) { return false; } // Check if already friends, and bail if so. if ( friends_check_friendship( $initiator_userid, $friend_userid ) ) { return true; } // Setup the friendship data. $friendship = new BP_Friends_Friendship; $friendship->initiator_user_id = (int) $initiator_userid; $friendship->friend_user_id = (int) $friend_userid; $friendship->is_confirmed = 0; $friendship->is_limited = 0; $friendship->date_created = bp_core_current_time(); if ( ! empty( $force_accept ) ) { $friendship->is_confirmed = 1; } // Bail if friendship could not be saved (how sad!). if ( ! $friendship->save() ) { return false; } // Send notifications. if ( empty( $force_accept ) ) { $action = 'requested'; // Update friend totals. } else { $action = 'accepted'; friends_update_friend_totals( $friendship->initiator_user_id, $friendship->friend_user_id, 'add' ); } /** * Fires at the end of initiating a new friendship connection. * * This is a variable hook, depending on context. * The two potential hooks are: friends_friendship_requested, friends_friendship_accepted. * * @since BuddyPress 1.0.0 * * @param int $id ID of the pending friendship connection. * @param int $initiator_user_id ID of the friendship initiator. * @param int $friend_user_id ID of the friend user. * @param object $friendship BuddyPress Friendship Object. */ do_action( 'friends_friendship_' . $action, $friendship->id, $friendship->initiator_user_id, $friendship->friend_user_id, $friendship ); return true; }
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.