我使用的是多站点(子文件夹),上面有几个子站点。所有子网站都工作正常,没有出现任何问题,但由于某种原因,一个子网站现在没有使用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://。