如何在BuddyPress中基于用户元自动接受好友请求

时间:2011-01-10 作者:sanchothefat

我仍然在考虑buddypress,到目前为止还不错,但我遇到了一个障碍,我希望某些被标记为“专家”的用户能够自动接受人们提出的任何朋友请求。

我已经找到了几个与此相关的函数,但我认为我缺少了一些可以简化此操作的功能,例如设置常量或重写$bp全局函数的一部分…

到目前为止,我掌握的情况如下:

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);
有没有人能告诉我,我应该在哪里做得更好、更无缝,就像主设置被设置为绕过请求过程一样?

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

更新试试这个

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);
这样,如果他们还不是朋友,我们只调用$force=true的friends\\u add\\u friend函数。

结束

相关推荐

我如何才能检测到我的主题中的BuddyPress页面是否处于活动状态?

我试图将子菜单加入到我的主题中,但在导航到BuddyPress页面时遇到了问题(与标准WP页面、帖子等相反)。基本上,我想做的是让页面(在适当的情况下)显示一个子菜单,ala:但当我浏览到BuddyPress控制下的页面时,我会得到以下信息:我使用以下命令生成子菜单:if (is_page()) { global $wp_query; if( empty($wp_query->post->post_parent) ) { $parent = $