- 状态
- 已解决
- 解决于
- WPML 4.9
- 主题标签
- Bug
问题概述
一些用户将其站点设置为阻止未经身份验证的 REST API 请求。
在这种情况下,您可能会发现 WPML 报告站点不满足最低要求,因为测试 REST API 端点无法访问,并且 WPML > 支持页面和 WPML 管理后台工具栏下拉菜单中的警告横幅无法关闭。
临时解决方法
在修复此问题之前,可以通过编辑文件 sitepress-multilingual-cms/vendor/wpml/wpml/src/Infrastructure/WordPress/SharedKernel/Server/Application/WordPressRestApiStatus.php 来移除该通知
找到以下代码行(从第 70 行开始):
// Add basic authentication if present
if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) {
$args['headers']['Authorization'] =
'Basic ' . base64_encode( $_SERVER['PHP_AUTH_USER'] . ':' . $_SERVER['PHP_AUTH_PW'] );
}
然后紧接着在后面添加以下 2 行:
// Add authentication from cookies
$args['cookies'] = $_COOKIE;
这将向测试 REST API 的请求添加必要的身份验证。