无法从同一台服务器上的多个WordPress网站检索数据

时间:2014-07-09 作者:Robert hue

我试图在一个php页面上从多个客户端Wordpress网站检索数据。因此,我可以监视所有这些网站,而无需逐一查看。

我能够显示来自单个网站的数据。像这样,我列出了安装在一个Wordpress上的所有插件。

<?php
  require( \'./domain1/wp-blog-header.php\' );
  if ( ! function_exists( \'get_plugins\' ) ) {
    require_once ABSPATH . \'wp-admin/includes/plugin.php\';
  }
  $plugins = get_plugins();
  echo \'<h1> \' . get_bloginfo( \'name\' ) . \'</h1>\';
  foreach ( $plugins as $plugin ) {
    echo $plugin[\'Name\'] . \'<br />\';
  }
?>
这是我想要的。但当我尝试对多个网站执行此操作时,它不起作用,而是多次显示来自第一个网站的数据。

<?php
  $websites = array( \'domain1\', \'domain2\', \'domain3\', \'domain4\', \'domain5\', \'domain6\' );

  foreach ( $websites as $website ) {
    $file = \'./\' . $website . \'/wp-blog-header.php\';
    require( $file );
    if ( ! function_exists( \'get_plugins\' ) ) {
      require_once ABSPATH . \'wp-admin/includes/plugin.php\';
    }
    $plugins = get_plugins();
    echo \'<h1> \' . get_bloginfo( \'name\' ) . \'</h1>\';
    foreach ( $plugins as $plugin ) {
      echo $plugin[\'Name\'] . \'<br />\';
    }
  }
?>
为什么它只显示第一个域的详细信息?我做错了什么?谁能帮我一下吗。

谢谢

1 个回复
SO网友:Oleg Butuzov

你介意我留下面包屑,这样你就可以解决这个问题了吗?

添加筛选器“查询”挂钩($wpdb)->前缀(&P);一旦声明了一个wpdb实例,本地wpdb前缀

  • 值位于*\\u选项表的某处
  • 删除过滤器
  • 显示值
    1. 。。。您可以访问其中的任何表格(请注意,我说的是一个DB中的表格)。但你不能做你现在正在做的事情。您将得到一个致命错误。

      另一种方法是解析wp config。每个站点的php,建立mysql连接,查询所有内容,并显示。。。但这是一个跛脚的太容易的方法。。。。

    结束

    相关推荐

    Admin Theme customization

    我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register