【发布时间】:2014-12-18 19:58:49
【问题描述】:
我正在为 WordPress 网站制作一份会员数据的自定义报告。我需要在报告中包含的一些字段存储在 wp_usermeta 表中,但是当我遍历每个成员以检索该数据时,它最终会超时。
我目前正在使用 get_user_meta() 因为它似乎比手动执行查询更快,但它仍然超时。大约有 5,600 个用户需要处理。它可以很好地通过其中的 4000 个,但是如果我尝试在完整集上运行它,它不可避免地会超时。有一个更好的方法吗?有没有办法从 wp_usermeta 表中提取批量数据,而不是为每个用户单独执行?我想也许尝试在一个查询中拉下整个 usermeta 表并使用 PHP 来操作它,但是该表中有超过 540,000 行...
这是我目前所处的位置......
require_once( "db_connection.php" );
require_once( "../wp-config.php" );
$q = "SELECT ID,user_login,user_email,last_login,display_name FROM wp_users WHERE user_email='' ORDER BY user_login ASC;";
$r = mysql_query( $q );
$members = array();
while ( $member = mysql_fetch_array( $r ) ) {
$usermeta = get_user_meta($member['ID']);
$members[$member['ID']] = $member;
$members[$member['ID']]['meta'] = $usermeta;
}
echo "<pre>\n";
var_dump( $members );
echo "</pre>\n";
非常感谢您的任何帮助/建议!
【问题讨论】: