WPML
Status
Resolvido
Resolvido em
WPML 4.9
Tags de tópico
Bug

Visão geral do problema

Alguns usuários configuram seus sites para bloquear requisições da API REST que não são autenticadas.

Nesse caso, você pode notar que o WPML relata que o site não atende aos requisitos mínimos porque um endpoint de teste da API REST não está acessível, e os banners de aviso na página WPML > Suporte e no menu suspenso da barra de ferramentas do painel de administração do WPML não podem ser descartados.

Solução alternativa

Até que isso seja corrigido, o aviso pode ser removido editando o arquivo sitepress-multilingual-cms/vendor/wpml/wpml/src/Infrastructure/WordPress/SharedKernel/Server/Application/WordPressRestApiStatus.php

Localize estas linhas (a partir da linha 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'] );
    }

em seguida, adicione estas 2 linhas imediatamente depois:

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

Isso adicionará a autenticação necessária à solicitação que testa a REST API.

Todos os problemas conhecidos →