No se puede cargar admin-ajax.php. No access-control allow origin*
No puedo cargar admin-ajax.php
y sigo recibiendo este mensaje de error:
XMLHttpRequest cannot load ..../wp-admin/admin-ajax.php.,. No 'Access-Control-Allow-Origin' header is present on...
En WAMP local funcionó agregando esto:
header("Access-Control-Allow-Origin: *");
(Aunque esto parece muy poco práctico porque la próxima vez que WordPress se actualice, supongo que esto desaparecería.)
Cuando subo esto a mi servidor de producción sigo obteniendo el mismo mensaje:
XMLHttpRequest cannot load ..../wp-admin/admin-ajax.php.,. No 'Access-Control-Allow-Origin' header is present on...
He intentado modificar el archivo .htaccess
y eso pareció activar CORS, pero no afecta a admin-ajax.php
:
<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin: *
</IfModule>
También he intentado instalar el plugin WP-CORS sin éxito.

Existen filtros para allowed_http_origins
y add_allowed_origins
.
Puedes utilizarlos para configurar el encabezado adecuado Access-Control-Allow-Origin en la respuesta a tu llamada AJAX.
Añade esto al archivo functions.php
de tu tema:
add_filter('allowed_http_origins', 'add_allowed_origins');
function add_allowed_origins($origins) {
$origins[] = 'https://www.yourdomain.com';
return $origins;
}
