如何从另一个Wordpress网站获取WP_User对象或usermeta?

时间:2014-04-25 00:09:19

标签: php mysql wordpress

有没有办法从单独的Wordpress安装中检索WP_User对象?

我正在尝试显示另一个Wordpress网站的用户列表。我不一定希望新的Wordpress网站能够共享相同的用户,我只需要显示旧网站用户列表以及选择的usermeta数据:first_namelast_name和一些自定义元字段等作为他们在公司的职位以及他们在哪个办公室工作。

我已设法通过以下代码段连接到其他Wordpress网站的数据库:

$newdb = new wpdb($DB_USER, $DB_PASSWORD, $DB_NAME, $DB_HOST);
$newdb->set_prefix('wp_');

但是,当我尝试使用以下查询时,我没有得到任何结果,或者我收到MySQL语法错误消息:

$users = $newdb->get_col( $newdb->prepare(
    "SELECT * FROM $newdb->users ORDER BY %s ASC", $sort )
);

当我使用此查询时,我得到结果:

$users = $newdb->get_results("SELECT * FROM wp_users ORDER BY user_nicename ASC");

但我不能使用get_userdata()来检索WP_User对象。

1 个答案:

答案 0 :(得分:0)

默认情况下,Wordpress安装无法相互通信 - 它们的范围限定在自己的数据库或数据库表中,并不意味着以这种方式进行交互。如果您只是想在不同的数据库中获取用户列表,那么您应该在wordpress框架之外执行标准的MySQL查询。