问题:
发现有的页面翻译出错,如下图:

经排查,原因是 SiteGround 主机安全插件中的"锁定并保护系统文件夹"功能 ,阻止了 TranslatePress 插件的 trp-ajax.php 文件正常执行。

解决方法:
将 trp-ajax.php 加入白名单
这个方法既能保留 SiteGround 的安全防护,又能让 TranslatePress 正常工作。
操作步骤:
-
先关闭 SiteGround Security Optimizer 插件中的 "锁定并保护系统文件夹" 功能
-
将以下代码添加到主题的
functions.php文件中: -
重新开启"锁定并保护系统文件夹"功能。
add_filter( 'sgs_whitelist_wp_content', 'whitelist_trp_ajax' );
function whitelist_trp_ajax( whitelist ) { whitelist[] = 'trp-ajax.php';
return $whitelist;
}
关键提示 :一定要先关闭该功能、添加代码、再重新开启。这样系统会重新生成
.htaccess规则,把trp-ajax.php排除在保护之外。只需要写文件名,不需要写完整路径。