GET_OPTION(‘home’)未在数据库中返回值

时间:2014-05-12 作者:user1637621

我使用的是多站点(子文件夹),上面有几个子站点。所有子网站都工作正常,没有出现任何问题,但由于某种原因,一个子网站现在没有使用get\\u选项(“home”)返回正确的值-它工作正常了一段时间,但最近才停止工作。。。

因此,现在该子网站无法创建任何新页面和指向正确媒体的链接等,当我查看该子网站的永久链接设置时,所有选项都不包括指定的子网站路径。

为了澄清我的问题,我查看了/wp/wp-admin/options-permalink中的代码。php并将以下代码添加到第125行:

if ($_GET[\'debug\'] === \'true\'){
  echo \'current_blog_id: \'. get_current_blog_id() .\'<br />\';
  echo \'blogname: \'. get_option( \'blogname\' ) .\'<br />\';
  echo \'siteurl: \'. get_option( \'siteurl\' ) .\'<br />\';
  echo \'home: \'. get_option( \'home\' ) .\'<br />\';
}
除了get\\u选项(“home”)为此子网站返回了错误的值之外,所有内容都正确输出-它将域返回到我的主多网站。例如,它应该返回:mymultisitenetwork。com/subsite9/但它只是返回:mymultisitenetwork。com公司/

所有其他值都已正确返回(get\\u current\\u blog\\u id()、get\\u选项(\'blogname\')、get\\u选项(\'siteurl\'))

当我检查网络中的其他子网站时,get\\u选项(“home”)会返回该子网站的正确值(如:mymultisitenetwork.com/subsite2/)

我在数据库中检查了该子网站“wp\\u 9\\u options”的选项表,它在那里有正确的值“mymultisitenetwork.com/subsite9/”

那么,为什么当我输出echo out get\\u选项(“home”)时,它会返回mymultisitenetwork。com/而不是mymultisitenetwork。com/子网站9/??

我甚至尝试用以下代码在输出get\\u选项(“home”)之前清除缓存,但也没有成功-仍然输出了错误的数据:

$GLOBALS[\'wp_object_cache\']->delete( \'home\', \'options\' );
请帮助解决此问题,因为此客户端无法记录程序因此创建任何新页面。。

非常感谢您的帮助-提前感谢!

注意:因为我不能在这篇文章中放置链接,我已经从上面的虚拟链接中删除了http://。

1 个回复
SO网友:Luke Gedeon

这可能不是你的答案,但对于任何处于类似情况的人来说都值得一提。您可以在网络管理员的编辑站点页面中更改“主页”。

直接链接-如果您知道博客id号,请将其添加到以下内容的末尾:yoursite.com/wp-admin/network/site-info.php?id=

或转到:http://yoursite.com/wp-admin/network/sites.php 并从那里查找和编辑网站。

结束

相关推荐

Deleting a user in multisite

我试图在支付网关请求时删除用户,我有以下代码:(编辑代码以显示与支付网关通信的完整功能,echo向支付网关提供响应,退出是因为它在支付网关示例代码中使用。)function handle_gateway_return() { $GWPass = get_option( $this->gateway . \"_gateway_gwpass\" ); if ($_GET[\"GWPass\"] != $GWPass ) { header(