Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

197
Vistas
La política de CORS ha bloqueado la obtención de wp_mail

Estoy construyendo un sitio de wordpress sin cabeza con Nextjs. Estoy tratando de hacer una llamada api a mi wordpress CMS.

Al obtener datos de wordpress, no puedo pasar el cors. Realmente no pude encontrar una manera de agregar Access-Control-Allow-Origin a mi llamada api. He estado tratando de hacerlo así, pero todavía tengo el error CORS.

 $headers = array('Access-Control-Allow-Origin: *; Content-Type: application/json; Accept: application/json'); wp_mail('test@mail.com', 'subject', 'msg', $headers);
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Ninguno de los encabezados con los que está tratando son encabezados SMTP. No deberían acercarse a la función wp_mail .

Los encabezados de respuesta CORS ( Access-Control-Allow-* ) son encabezados de respuesta HTTP .

En general, con PHP, debe agregarlos a la respuesta HTTP con la función header() .

 header("Access-Control-Allow-Origin: *");

Como está utilizando WordPress (con el que no estoy muy familiarizado), mire esta respuesta , ya que parece envolverse alrededor de la API de encabezados normales.

Content-Type: application/json podría ser una solicitud HTTP o un encabezado de respuesta. No está claro por el contexto, ya que su fragmento de código no incluye nada para leer el cuerpo de la solicitud o generar el cuerpo de la respuesta.

Accept: application/json es un encabezado de solicitud HTTP y debe enviarse desde el navegador al servidor. No deberías configurarlo en PHP en absoluto.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Tuve el mismo problema hace unos meses.

Se solucionó agregando el siguiente código a functions.php

 // Allow from any origin if (isset($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); // cache for 1 day } // Access-Control headers are received during OPTIONS requests if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) // may also be using PUT, PATCH, HEAD etc header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); exit(0); }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda