插件将按用户数量对用户进行排序

时间:2015-03-12 作者:cowboy

当我完善我最流行的插件时,它将存储一个从用户出生日期解码的特殊数字,这是一个扩展的BuddyPress字段bp_xprofile_data. 所有用户都会得到一个介于1和260之间的数字,我将根据这个数字整理BuddyPress用户列表。

似乎至少有两种已建立的存储扩展用户数据的方法usermeta 桌子我可以想象有4种可能的方法:

使用BuddyPressbp_xprofile_data 表使用usermeta 表将字段添加到wp_users 这样我就可以user_id用“西方最快的PHP”为我的很棒的插件创建一个新的表,当然,我希望代码能够有效地利用资源,因为还有很多狗需要圈养。

是将数字插入usermeta, 然后用这样的查询来检索它?

$users_by_kin = "SELECT * 
    FROM ".$wpdb->prefix."usermeta 
    WHERE meta_key=\'kin_id\' 
    AND meta_value=\'$kin_id\'"
哪种方法被认为是最佳WP实践?

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

如果希望获得所列选项的最佳实践,请使用用户元表。

向users表中添加一列可能是最糟糕的事情——破坏默认WP表的表结构是不可能的。

另外两种选择介于两者之间,添加自己的表是最不受欢迎的。

但是为什么不使用WP\\u User\\u查询类呢?

 $user_by_kin = new WP_User_Query( 
    array( 
        \'meta_key\' => \'kin_id\', 
        \'meta_value\' => $kin_id, 
        \'meta_compare\' => \'=\' 
    ) 
);

结束

相关推荐

如何使用标准的QUERY_POST按多个字段排序?

在我们的archive.php 我们将显示与所选类别匹配的所有项目。这工作非常好。然后,我们对其进行了改进,添加了一个排序(就在循环之前),并将每页的帖子数从默认的10个增加到了10个,如下所示:$posts = query_posts($query_string . \'&orderby=title&order=asc&posts_per_page=99\'); 这更有效。现在,我们想按多个字段进行排序,比如menu_order 然后title. 我看不到使用我们现有