it-swarm.com.de

Automatische Annahme einer Freundschaftsanfrage in buddypress basierend auf dem Benutzer-Meta

Ich bin immer noch bestrebt, mich mit Buddypress zu beschäftigen, aber ich habe einen Haken getroffen, bei dem ich möchte, dass bestimmte Benutzer, die als "Experte" gekennzeichnet sind, automatisch alle Freundschaftsanfragen annehmen, die von Menschen gestellt werden.

Ich habe ein paar Funktionen gefunden, die damit zusammenhängen, aber ich glaube, ich vermisse etwas, das dies einfacher machen würde, wie das Festlegen einer Konstanten oder das Überschreiben eines Teils des globalen $ bp ...

Was ich bis jetzt habe, ist das folgende:

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);

Kann mir jemand sagen, wohin ich schauen soll, um dies Nizza und nahtlos zu machen, als ob die Haupteinstellungen so eingestellt wären, dass der Anforderungsprozess umgangen wird?

1
sanchothefat

AKTUALISIEREN

versuche dies

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);

auf diese Weise rufen wir die friends_add_friend-Funktion nur mit $ force = true auf, wenn sie noch keine Freunde sind.

1
Bainternet