- Stato
- Risolto
- Risolto in
- WPML 4.9
- Tag dell’argomento
- Bug
Panoramica del problema
Alcuni utenti configurano i propri siti per bloccare le richieste API REST non autenticate.
In questo caso, potresti notare che WPML segnala che il sito non soddisfa i requisiti minimi perché un endpoint API REST di prova non è raggiungibile, e i banner di avviso nella pagina WPML > Supporto e nel menu a discesa della barra degli strumenti dell’area di amministrazione di WPML non possono essere chiusi.
Soluzione alternativa
Fino alla risoluzione del problema, puoi rimuovere l’avviso modificando il file sitepress-multilingual-cms/vendor/wpml/wpml/src/Infrastructure/WordPress/SharedKernel/Server/Application/WordPressRestApiStatus.php
Individua queste righe (dalla riga 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'] );
}
quindi, subito dopo, aggiungi queste 2 righe:
// Add authentication from cookies
$args['cookies'] = $_COOKIE;
Questo aggiungerà l’autenticazione necessaria alla richiesta che testa l’API REST.