按上次登录日期排序Get_Users()。有可能吗?

时间:2014-01-20 作者:stefano1

我想创建一个页面,显示按上次登录日期排序的所有博客用户。

我尝试了get\\u users()函数,我可以成功地获取用户列表,但不是按照我想要的顺序:

$query = get_users(\'&offset=\'.$offset.\'&orderby=login&order=DESC&number=\'.$number); 
我认为orderby=登录不是我想要的。。。有没有其他方法可以做到这一点?

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

首先,您需要存储实际登录日期,因为默认情况下不会存储该日期。您可以使用此代码来实现这一点(在functions.php中使用它)

add_action(\'wp_login\',\'user_last_login\', 0, 2);
function user_last_login($login, $user) {  
    $user = get_user_by(\'login\',$login);
    $now = time();
    update_usermeta( $user->ID, \'user_last_login\', $now );
}
之后,可以使用元字段对结果进行排序:

$query = get_users(\'&offset=\'.$offset.\'&orderby=meta_value&meta_key=user_last_login&order=DESC&number=\'.$number); 

SO网友:GaryJ

帕萨格特的回答可以稍微简化。当用户对象已经作为第二个参数存在时,无需获取它:

add_action( \'wp_login\',\'prefix_save_user_last_login\', 0, 2 );
function prefix_save_user_last_login( $login, $user ) {  
    update_usermeta( $user->ID, \'user_last_login\', time() );
}

结束

相关推荐

需要通过Functions.Php注销脚本

嗯,我有点失望Wordpress注销脚本有多么困难。首先,我得到了所有句柄的列表,所以我查找了它,句柄是jquery migrate然后我将其添加到我的函数中。phpwp_dequeue_script(\'jquery-migrate\'); 还有这个wp_dequeue_script(\'jquery\'); 尽管脚本已正确注册,但它什么也不做。版本字符串出了什么问题,我想不出为什么它们仍然包含这些字符串,应该尽快在下一个WP版本中删除,它们只会在某些情况下阻止缓存正确缓存,这很烦人