web-dev-qa-db-fra.com

Comment accepter automatiquement une demande d'ami dans buddypress en fonction des méta de l'utilisateur

Buddypress, je m'en sors toujours bien, mais je tiens à ce que certains utilisateurs, désignés comme "experts", acceptent automatiquement toutes les demandes d'ami que font les gens.

J'ai trouvé quelques fonctions liées à cela, mais je pense qu'il me manque quelque chose qui simplifierait la tâche, comme définir une constante ou une partie prioritaire du $ bp global…

Ce que j'ai jusqu'à présent est le suivant:

function bp_auto_accept_friend_request( $friendship_id, $friendship_initiator_id, $friendship_friend_id ) {
    if ( is_user_expert( $friendship_friend_id ) ) {
        // force add
        friends_accept_friendship( $friendship_id );
        friends_add_friend( $friendship_initiator_id, $friendship_friend_id, true );
    }
}
add_action('friends_friendship_requested', 'bp_auto_accept_friend_request', 200, 3);

Quelqu'un peut-il me dire où je devrais chercher à rendre cette application agréable et transparente, comme si les paramètres principaux étaient configurés pour contourner le processus de demande, s'il vous plaît?

1
sanchothefat

METTRE À JOUR

essaye ça

function bp_auto_accept_friend_request( $friendship_id, $friendship_initiator_id, $friendship_friend_id ) {
        $friendship_status = BP_Friends_Friendship::check_is_friend( $friendship_initiator_id, $friendship_friend_id );
        if ( 'not_friends' == $friendship_status ) {
            if ( is_user_expert( $friendship_friend_id ) ) {
            // force add
            friends_add_friend( $friendship_initiator_id, $friendship_friend_id, true );
            friends_accept_friendship( $friendship_id );
        }
        }
    }
    add_action('friends_friendship_requested', 'bp_auto_accept_friend_request', 200, 3);

de cette façon, nous appelons seulement la fonction friends_add_friend avec $ force = true s'ils ne sont pas encore amis.

1
Bainternet