- Statut
- Résolu
- Résolu dans
- WPML 4.9
- Étiquettes de sujet
- Bug
Aperçu de l’anomalie
Certains utilisateurs configurent leurs sites pour bloquer les requêtes de l’API REST qui ne sont pas authentifiées.
Dans ce cas, il se peut que WPML signale que le site ne répond pas aux exigences minimales car un point de terminaison de test de l’API REST n’est pas accessible, et que les bannières d’avertissement sur la page WPML > Support et dans le menu déroulant WPML de la barre d’outils de l’interface d’administration ne peuvent pas être masquées.
Solution de contournement
En attendant que ce problème soit résolu, la notification peut être supprimée en modifiant le fichier sitepress-multilingual-cms/vendor/wpml/wpml/src/Infrastructure/WordPress/SharedKernel/Server/Application/WordPressRestApiStatus.php
Repérez ces lignes (à partir de la ligne 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'] );
}
puis ajoutez immédiatement après ces 2 lignes :
// Add authentication from cookies
$args['cookies'] = $_COOKIE;
Cela ajoutera l’authentification nécessaire à la requête qui teste l’API REST.