- ステータス
- 解決済み
- 解決されたバージョン
- WPML 4.9
- トピックタグ
- Bug
問題の概要
一部のユーザーは、認証されていないREST APIリクエストをブロックするようにサイトを設定する場合があります。
その場合、テスト用のREST APIエンドポイントに到達できないため、サイトが最小要件を満たしていないとWPMLが報告することがあります。また、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をテストするリクエストに必要な認証が追加されます。