如何在BuddyPress中获取所有登录的用户ID

时间:2015-12-22 作者:Bushra Shahid

我想让所有buddypress都登录到用户ID中。为此,我正在使用

$bp->loggedin_user->id
但这无助于。。请帮我获取所有登录的用户id。谢谢。

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

$bp->loggedin_user->id 将仅为您提供当前登录用户的单个id。顺便说一句,它还需要使用$bp global.您不需要使用全局。使用bp_loggedin_user_id() 相反

BuddyPress不跟踪登录的用户。它不使用会话。它确实使用数据库中的时间戳来指示最近的活动。因此,您可以使用自定义sql返回用户ID。例如:

function shahid_get_recent_active() {
    global $wpdb;

    $time = time() - (60 * 10); // current time minus 10 minutes
    $cutoff = date(\'Y-m-d h:i:s\', $time);

    $user_ids = $wpdb->get_col( "SELECT user_id FROM {$wpdb->prefix}bp_activity WHERE type = \'last_activity\' AND date_recorded > \'$cutoff\' " ); 
    var_dump( $user_ids );

}
add_action( \'bp_ready\', \'shahid_get_recent_active\' );
$user_ids 将是一个数组。