WPML
Trạng thái
Đã giải quyết
Đã giải quyết trong
WPML 4.9
Thẻ chủ đề
Bug

Tổng quan về lỗi

Một số người dùng thiết lập trang web của họ để chặn các yêu cầu REST API không được xác thực.

Trong trường hợp đó, bạn có thể thấy WPML báo cáo rằng trang web không đáp ứng các yêu cầu tối thiểu vì không thể truy cập vào một endpoint REST API thử nghiệm, và các biểu ngữ cảnh báo trên trang WPML > Hỗ trợ và trong menu thả xuống trên thanh công cụ trang quản trị WPML không thể đóng lại.

Giải pháp tạm thời

Cho đến khi vấn đề này được khắc phục, có thể xóa thông báo bằng cách chỉnh sửa tệp sitepress-multilingual-cms/vendor/wpml/wpml/src/Infrastructure/WordPress/SharedKernel/Server/Application/WordPressRestApiStatus.php

Tìm các dòng này (từ dòng 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'] );
    }

sau đó thêm 2 dòng này vào ngay phía sau:

    // Add authentication from cookies
    $args['cookies'] = $_COOKIE;

Thao tác này sẽ thêm xác thực cần thiết vào yêu cầu kiểm tra REST API.

Tất cả các lỗi đã ghi nhận →