Php 多个wordpress安装,在wp-1内部从wp-2获取数据

Php 多个wordpress安装,在wp-1内部从wp-2获取数据,php,wordpress,Php,Wordpress,我有一个网站安装了4个wordpress,(不需要wp MU)x4数据库,每个数据库都有一个唯一的用户名和密码 我会叫这些 wp1=主站点 wp2=子站点 wp3=子站点 wp4=子站点 在wp1中,有一个带有选项卡的页面,该页面应加载来自wp2、wp3、wp4安装的最新帖子,该页面使用自定义模板为页面提供php代码,该代码应连接到每个数据库并返回每个数据库的数据 代码: $db\u wp2\u user='db\u user' $db_wp2_pwd='db_pass'; $db_wp2_db

我有一个网站安装了4个wordpress,(不需要wp MU)x4数据库,每个数据库都有一个唯一的用户名和密码

我会叫这些 wp1=主站点 wp2=子站点 wp3=子站点 wp4=子站点

在wp1中,有一个带有选项卡的页面,该页面应加载来自wp2、wp3、wp4安装的最新帖子,该页面使用自定义模板为页面提供php代码,该代码应连接到每个数据库并返回每个数据库的数据

代码:

$db\u wp2\u user='db\u user'
$db_wp2_pwd='db_pass';
$db_wp2_db='db_name';
$db_wp2_host='localhost';
$wpdb_wp2=新的wpdb($db_wp2_用户,$db_wp2_pwd,$db_wp2_数据库,$db_wp2_主机);
//质疑
$wp2_latestposts=$wpdb_wp2->get_results(“从$wpdb_wp2中选择ID、post_title->post_status='publish'和post_type='post'”);
foreach($wp2_最新成本为$latestpost){
echo$latestpost->post_title.“
”; } $db_wp3_user='db_user' $db_wp3_pwd='db_pass'; $db_wp3_db='db_name'; $db_wp3_host='localhost'; $wpdb_wp3=新的wpdb($db_wp3_用户,$db_wp3_pwd,$db_wp3_db,$db_wp3_主机); //质疑 $wp3_latestposts=$wpdb_wp3->get_results(“从$wpdb_wp3中选择ID,post_title->post,其中post_状态='publish',post_类型='post'”); foreach($wp3_最新邮件作为$latestpost){ echo$latestpost->post_title.“
”; } $db_wp4_user='db_user' $db_wp4_pwd='db_pass'; $db_wp4_db='db_name'; $db_wp4_host='localhost'; $wpdb_wp4=新的wpdb($db_wp4_用户,$db_wp4_pwd,$db_wp4_数据库,$db_wp4_主机); //质疑 $wp4_latestposts=$wpdb_wp4->get_results(“从$wpdb_wp4中选择ID、post_title->post_status='publish'和post_type='post'”); foreach($wp4_最新邮件作为$latestpost){ echo$latestpost->post_title.“
”; }
对每个数据库的每次调用都应显示每个数据库的最新帖子。。 在那一页上。。。加载到每个选项卡

当代码运行时,页面返回所有样式和页脚, 但是如果信息应该加载为空,没有错误消息


您能告诉我这是否是执行此操作的正确方法,或者如果数据存储在主wp安装之外的另一个数据库中,是否有更简单的方法填充数组?

在安装过程中,您可以输入前缀,以便在同一数据库中安装任意数量的wp安装。这可能更容易实现您的目标


谢谢jeremy这是设置网站时的一个选择,但最好是不同的数据库。。我相信有一种方法可以连接,即使在主要的wordpress网站加载。。。我试着使用常规的mysql连接字符串来获取有用的信息,但是我感觉我好像从头开始,我必须构建连接查询来获取所有相关信息,因为wp已经准备好了,如果我可以使用类信息的话。。如果说得通的话。
$db_wp2_user = 'db_user'
$db_wp2_pwd = 'db_pass';
$db_wp2_db = 'db_name';
$db_wp2_host = 'localhost';
$wpdb_wp2 = new wpdb($db_wp2_user, $db_wp2_pwd, $db_wp2_db, $db_wp2_host);

//query
$wp2_latestposts = $wpdb_wp2->get_results("SELECT ID, post_title FROM $wpdb_wp2->posts WHERE post_status = 'publish' AND post_type = 'post' ");

foreach ($wp2_latestposts as $latestpost) {
  echo $latestpost->post_title."<br />";
}


$db_wp3_user = 'db_user'
$db_wp3_pwd = 'db_pass';
$db_wp3_db = 'db_name';
$db_wp3_host = 'localhost';
$wpdb_wp3 = new wpdb($db_wp3_user, $db_wp3_pwd, $db_wp3_db, $db_wp3_host);

//query
$wp3_latestposts = $wpdb_wp3->get_results("SELECT ID, post_title FROM $wpdb_wp3->posts WHERE post_status = 'publish' AND post_type = 'post' ");

foreach ($wp3_latestposts as $latestpost) {
  echo $latestpost->post_title."<br />";
}

$db_wp4_user = 'db_user'
$db_wp4_pwd = 'db_pass';
$db_wp4_db = 'db_name';
$db_wp4_host = 'localhost';
$wpdb_wp4 = new wpdb($db_wp4_user, $db_wp4_pwd, $db_wp4_db, $db_wp4_host);


//query
$wp4_latestposts = $wpdb_wp4->get_results("SELECT ID, post_title FROM $wpdb_wp4->posts WHERE post_status = 'publish' AND post_type = 'post' ");

foreach ($wp4_latestposts as $latestpost) {
  echo $latestpost->post_title."<br />";
}