连接到另一个wpdb时出现switch_to_blog错误

时间:2014-03-20 00:25:51

标签: wordpress wpdb

我在Wordpress主题中创建了一个功能,允许站点连接到第二个多站点安装(“Hub”)并获取我们的员工目录,紧急警报信息和标题新闻。第二个多站点分为几个博客:

紧急通知:站点2 校园目录:站点3 活动日历:网站4 新闻:网站5 餐饮日历:网站6

您可以在http://inside.scrippscollege.edu

中查看所有内容

当此网站和我们的新外部网站共享blog_id时,问题就出现了。例如,外部登台站点上的Inside Scripps和Site 3(紧急响应)上的站点3(我们的Faculty页面)无法正常运行目录功能,因为它们都使用相同的blog_id。我不知道如何解决这个问题,甚至解决它。

该功能如下所示:

global $wpdb;
$wpdb_backup = $wpdb; // Copies the global Wordpress variables for later
$wpdb = new wpdb('XXXX', 'XXXX', 'XXXX', 'XXXX');
$wpdb->set_prefix('wp_');
$wpdb->show_errors();

global $blog_id;
global $switched;

switch_to_blog(3);  // Switches over the the directory portion of the Hub

运行我的查询后,我结束了这个功能:

restore_current_blog();  // Restores the switch_to_blog() function
$wpdb = $wpdb_backup;  // Restores the global Wordpress variables
return $output;

如果我在顶部定义DIEONDBERROR,我会收到如下错误:

WordPress数据库错误:[您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'WHERE option_name ='category_children'附近使用正确的语法'LIMIT 1 / *来自[第1行的SITE'] SELECT option_value FROM WHERE option_name ='category_children'LIMIT 1 / * From [SITE / emergency /]在[/functions/office.php:65] * /

第65行是我开始论证的地方:

$news_posts = new WP_Query( $args ); // Select posts we're going to use

那么,在我切换到博客但是保留blog_id以保持搜索的完整性时,我是否缺少一个步骤?我有一个唠叨的怀疑,这个故障导致类似的错误,匹配blog_ids的网站将停止工作,直到我清除主机的缓存。

0 个答案:

没有答案