这个问题通常是某个HTTP请求超时引起的
先临时“断网”测试:
1.在宝塔面板的文件管理中,编辑 wp-config.php 文件。
2.在文件开头 <?php 的下面,临时加入这一行代码:
define(‘WP_HTTP_BLOCK_EXTERNAL’, true);
3.保存文件,再去后台点“所有文章”。如果瞬间变快,就100%确认是外部请求的问题。
4.测试完后,一定要立刻把这行代码删掉或注释掉,否则其他需要联网的插件(如更新、上传)都会失效。
如果有效果,记得把这行代码删掉或者注释掉,然后按下面的步骤做:
第一步:添加代码,彻底禁用后台外部请求
我们先用一段代码,把除了必要更新外的所有无关外部请求都关掉。
- 在宝塔面板“文件”管理中,进入
/www/wwwroot/你的网站目录/wp-content/themes/你的当前主题/目录。 - 找到
functions.php文件,右键编辑。 - 在文件末尾的
?>之前,粘贴以下代码。这段代码会屏蔽掉常见的后台慢请求,并仅保留更新检查所必需的白名单。
// 彻底禁用拖慢后台的外部请求
function speedup_disable_external_http_requests($preempt, $parsed_args, $url) {
// 白名单:保留 WordPress 核心、插件和主题的更新检查,确保安全
$whitelist = [
‘api.wordpress.org’,
‘downloads.wordpress.org’,
‘wp-china-yes.com’, // 如果你启用了该插件
];
// 检查请求的 URL 是否在白名单内
foreach ($whitelist as $allowed) {
if (strpos($url, $allowed) !== false) {
return $preempt; // 在白名单内,放行
}
}
// 所有其他外部请求,直接返回一个错误,不再等待超时
return new WP_Error('http_request_blocked', '外部请求已被管理员禁用。');
}
add_filter(‘pre_http_request’, ‘speedup_disable_external_http_requests’, 10, 3);
4.保存文件,然后刷新后台。现在应该已经恢复飞快了。
第二步:安装“QQWorld Speed for China”插件并确保其正常工作
这段代码禁用了无用请求,但要保证主题、插件的更新能继续使用,需要一个可靠的国内镜像。
- 在 WordPress 后台“插件”->“安装插件”页面,搜索并安装 “QQWorld Speed for China” 插件并启用。
- 进入“设置”->“QQWorld Speed for China”,确保所有加速选项都已勾选。
- 这样,更新请求会通过国内镜像中转,不会被刚刚的代码误伤。