PHP, cURL publicar para iniciar sesión en WordPress

Estoy trabajando en un proyecto para un cliente que necesita un inicio de sesión automático con un clic en el enlace.

Estoy usando una página de protocolo de enlace para hacer esto con el siguiente código:

$username = "admin";
$password = "blog";
$url = "http://wordpressblogURL/";
$cookie = "cookie.txt";

$postdata = "log=" . $username . "&pwd=" . $password . "&wp-submit=Log%20In&redirect_to=" . $url . "blog/wordpress/wp-admin/&testcookie=1";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url . "blog/wordpress/wp-login.php");

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url . "blog/wordpress/wp-login.php");

curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
curl_close($ch);
echo $result;

exit;

Esto funciona bien. Me registra muy bien.

El problema es que creo que las teclas de WordPress están fuera de la URL.

Para elaborar, mi página de apretón de manos (que me conecta) está en el directorio "blog" y mi aplicación de WordPress está en el directorio "wordpress" que se encuentra dentro del directorio "blog". La URL en el navegador dice..blog/handshake.php. Sin embargo, tiene la sección Admin de WordPress en la ventana del navegador. Los enlaces de administrador de WordPress ahora no funcionan correctamente, porque la URL está en la../blog directorio cuando necesita estar en el..blog/wordpress/wp-admin directorio.

¿Hay alguna manera enriz para que la URL del navegador refleje la página real?

¿Debería usar FSockOPen en su lugar?

Respuestas a la pregunta(4)

Su respuesta a la pregunta