这是一个老问题,但我想我应该发布我的答案,因为我必须处理这个问题,并找到一个临时解决方法,让它对我有用。
警告:这需要修改旧件,不建议修改旧件。如果使用此变通方法,则可能应该在完成更新后删除该变通方法。
从WP 4.1开始,/WP admin/network/upgrade中存在问题。php第67行。在这里$upgrade_url
正在传递给wp_remote_get()
. 但是$upgrade_url
正在从当前页面获取其SSL提示。因此,如果您当前的页面是HTTPS,那么它将对所有正在升级的站点采用HTTPS,即使这些站点不应该是HTTPS。
现在,从代码来看,您应该能够过滤admin_url()
为了改变$upgrade_url
从HTTPS到HTTP。然而,当我尝试这个过滤器时,它不起作用。因此,我最终要做的是在之前插入以下代码wp_remote_get()
第67行:
if( strpos( $url, $your_ssl_domain ) === false )
$upgrade_url = str_replace( \'https\', \'http\', $upgrade_url );
希望这能帮助别人。