Estoy creando un complemento de WordPress y tengo problemas para obtener una llamada CURSILLO que funcione correctamente.¿Cómo se usa curl dentro de los complementos de WordPress?
Digamos que tengo una página www.domain.com/wp-admin/admin.php?page=orders
Dentro de la página de pedidos Tengo una función que se ve a ver si se hace clic en un botón y si por lo que debe hacer una llamada a CURL a la misma página (www.domain.com/wp-admin/admin.php?page=orders & dosomething = true) para iniciar una función diferente. La razón por la que lo hago de esta manera es para poder hacer que esta llamada cURL sea asincrónica.
No recibo ningún error, pero tampoco recibo ninguna respuesta. Si cambio mi URL a google.com o example.com, obtendré una respuesta. ¿Hay algún problema de autenticación o algo de esa naturaleza posiblemente?
Mi código se ve algo así ... Estoy usando get, ecos, y no haciendo asincron solo por la facilidad de las pruebas.
if(isset($_POST['somebutton']))
{
curlRequest("http://www.domain.com/wp-admin/admin.php?page=orders&dosomething=true");
}
if($_GET['dosomething'] == "true")
{
echo("do something");
exit;
}
function curlRequest($url) {
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
return($response);
}
Deberá poder enrutar a su servidor web a través de una interfaz loopback. Quizás el servidor web se ha configurado para escuchar solo en una IP 'pública', y no en una dirección de bucle invertido como 127.0.0.1. Sugiero probar algo tonto como 'system (" ping www.domain.com ")' en un script para ver si puedes incluso enrutar al host 'internamente'. – sarnold
El curl funciona si solo voy a la parte pública de wordpress .. aka www.domain.com. Pero si trato de llegar al administrador (wp-admin) no da una respuesta. – Jason
Si está buscando un proceso asincrónico, ¿por qué no utilizar ajax? cURL * es * sincrónico (es decir, su script php va a bloquear hasta que termine cURL). –