0

user这就是我能够将所有相关数据提取到每条记录的单行中的方式:

SELECT user_login, user_pass, user_email, user_registered,
meta1.meta_value AS billing_address_1,
meta2.meta_value as billing_address_2,
meta3.meta_value as billing_city,
meta4.meta_value as billing_first_name,
meta5.meta_value as billing_last_name,
meta5.meta_value as billing_postcode,
meta5.meta_value as billing_country,
meta5.meta_value as billing_state
FROM wp_users users,
wp_usermeta meta1,
wp_usermeta meta2,
wp_usermeta meta3,
wp_usermeta meta4,
wp_usermeta meta5,
wp_usermeta meta6,
wp_usermeta meta7,
wp_usermeta meta8
WHERE users.id = meta1.user_id
    AND meta1.meta_key = 'billing_address_1'
AND users.id = meta2.user_id
    AND meta2.meta_key = 'billing_address_2'
AND users.id = meta3.user_id
    AND meta3.meta_key = 'billing_city'
AND users.id = meta4.user_id
    AND meta4.meta_key = 'billing_first_name'
AND users.id = meta5.user_id
    AND meta5.meta_key = 'billing_last_name'
AND users.id = meta6.user_id
    AND meta6.meta_key = 'billing_postcode'
AND users.id = meta7.user_id
    AND meta7.meta_key = 'billing_country'
AND users.id = meta8.user_id
    AND meta8.meta_key = 'billing_state'

然而,在这一点上(我什至没有列出一半需要提取的元数据),phpMyAdmin 告诉我我JOIN的太大了......

有没有更有效的方法来做到这一点?

4

3 回答 3

1

如果您需要一个具有所有详细信息的用户,那么您可以简单地使用get_userdata函数,如下所示

$user_info = get_userdata(1); // 1 is user ID here (required)
echo 'Username: ' . $user_info->user_login . "\n";
echo 'User level: ' . $user_info->user_level . "\n";
echo 'User ID: ' . $user_info->ID . "\n";
// more...

如果要获取当前登录用户的详细信息,可以使用get_currentuserinfo函数

global $current_user;
get_currentuserinfo();

echo 'Username: ' . $current_user->user_login . "\n";
echo 'User email: ' . $current_user->user_email . "\n";
echo 'User first name: ' . $current_user->user_firstname . "\n";
echo 'User last name: ' . $current_user->user_lastname . "\n";
echo 'User display name: ' . $current_user->display_name . "\n";
echo 'User ID: ' . $current_user->ID . "\n";
于 2013-09-19T18:54:52.943 回答
0

您可以使用该get_user_meta()功能。它将返回特定用户的所有用户元信息。在循环中为每个用户调用该函数。

http://codex.wordpress.org/Function_Reference/get_user_meta

于 2013-09-19T18:47:00.110 回答
0

那么创建一个视图并在其上运行选择呢?

于 2013-09-20T03:26:44.040 回答