WPML
状态
已解决
解决于
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 的请求添加必要的身份验证。

所有已知问题 →