我在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的网站将停止工作,直到我清除主机的缓存。