bp_get_add_friend_button( int $potential_friend_id, bool $friend_status = false, array $button_args = array() )
Create the Connect button.
Description
Parameters
- $potential_friend_id
-
(Required) ID of the user to whom the button applies. Default: value of bp_get_potential_friend_id().
- $friend_status
-
(Optional) Not currently used.
Default value: false
- $button_args
-
(Optional) See BP_Button class.
Default value: array()
Return
(false|string) HTML for the Connect button.
Source
File: bp-friends/bp-friends-template.php
function bp_get_add_friend_button( $potential_friend_id = 0, $friend_status = false, $button_args = array() ) {
if ( empty( $potential_friend_id ) )
$potential_friend_id = bp_get_potential_friend_id( $potential_friend_id );
$is_friend = bp_is_friend( $potential_friend_id );
if ( empty( $is_friend ) )
return false;
$button_args = wp_parse_args( $button_args, get_class_vars( 'BP_Button' ) );
switch ( $is_friend ) {
case 'pending' :
$button = wp_parse_args(
array(
'id' => 'pending',
'component' => 'friends',
'must_be_logged_in' => true,
'block_self' => true,
'wrapper_class' => 'friendship-button pending_friend',
'wrapper_id' => 'friendship-button-' . $potential_friend_id,
'link_href' => wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/cancel/' . $potential_friend_id . '/', 'friends_withdraw_friendship' ),
'link_text' => __( 'Cancel connection request', 'buddyboss' ),
'link_id' => 'friend-' . $potential_friend_id,
'link_rel' => 'remove',
'link_class' => 'friendship-button pending_friend requested'
), $button_args );
break;
case 'awaiting_response' :
$button = wp_parse_args(
array(
'id' => 'awaiting_response',
'component' => 'friends',
'must_be_logged_in' => true,
'block_self' => true,
'wrapper_class' => 'friendship-button awaiting_response_friend',
'wrapper_id' => 'friendship-button-' . $potential_friend_id,
'link_href' => bp_loggedin_user_domain() . bp_get_friends_slug() . '/requests/',
'link_text' => __( 'Connect Requested', 'buddyboss' ),
'link_id' => 'friend-' . $potential_friend_id,
'link_rel' => 'remove',
'link_class' => 'friendship-button awaiting_response_friend requested'
), $button_args );
break;
case 'is_friend' :
$button = wp_parse_args(
array(
'id' => 'is_friend',
'component' => 'friends',
'must_be_logged_in' => true,
'block_self' => false,
'wrapper_class' => 'friendship-button is_friend',
'wrapper_id' => 'friendship-button-' . $potential_friend_id,
'link_href' => wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/remove-friend/' . $potential_friend_id . '/', 'friends_remove_friend' ),
'link_text' => __( 'Connected', 'buddyboss' ),
'link_id' => 'friend-' . $potential_friend_id,
'link_rel' => 'remove',
'link_class' => 'friendship-button is_friend remove bp-toggle-action-button',
'button_attr' => array(
'data-title' => __( 'Remove Connection', 'buddyboss' ),
'data-title-displayed' => __( 'Connected', 'buddyboss' ),
)
), $button_args );
break;
default:
$button = wp_parse_args(
array(
'id' => 'not_friends',
'component' => 'friends',
'must_be_logged_in' => true,
'block_self' => true,
'wrapper_class' => 'friendship-button not_friends',
'wrapper_id' => 'friendship-button-' . $potential_friend_id,
'link_href' => wp_nonce_url( bp_loggedin_user_domain() . bp_get_friends_slug() . '/add-friend/' . $potential_friend_id . '/', 'friends_add_friend' ),
'link_text' => __( 'Connect', 'buddyboss' ),
'link_id' => 'friend-' . $potential_friend_id,
'link_rel' => 'add',
'link_class' => 'friendship-button not_friends add'
), $button_args );
break;
}
/**
* Filters the HTML for the add friend button.
*
* @since BuddyPress 1.1.0
*
* @param string $button HTML markup for add friend button.
*/
return bp_get_button( apply_filters( 'bp_get_add_friend_button', $button ) );
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.1.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.