Soporte » WordPress Avanzado » Usar API de WordPress

  • Buenas estoy intentando hacer uso de la API de WordPress para conectarme de un WordPress a otro y crear usuarios automáticamente, he usado curl para intentar hacer la conexión pero no consigo nada, y no se si se me escapa algo que no vea, os paso el código para ver si me podéis ayudar

    $user = get_user_by('id', $userid);
    
    $host = 'http://xxxx.com/wp-json/wp/v2/users/';
    
    	$data = array('username' => $user->user_email, 'first_name' => $user->first_name, 'email' => $user->user_email, 'role' => 'suspcritor');
    	$data_string = json_encode($data);
    
    	$headers = array(
    		'Content-Type:application/json',
    		'Content-Length: ' . strlen($data_string),
    		'Authorization: Basic '. base64_encode('trajanero1986:ExpInf?8684]')
    	);
    
    	$ch = curl_init($host);
    	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');  
    	curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    
    	$result = curl_exec($ch);
    	curl_close($ch);
    • Este debate fue modificado hace 1 mes, 2 semanas por Fernando Tellado. Razón: Etiquetado correcto del código

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • Hola @infoexperto

    Como hace tiempo de tu consulta, solo te comento un poco el tema.

    – En el array de la variable $data tienes mal escrito el rol.
    – La API por defecto solo permite la autorizacion por cookies salvo que uses un WordPress con la version 5.6 en adelante y tengas creada una contraseña de aplicacion para x usuario con los suficientes permisos para crear un usuario como es tu caso.
    – No puedes usar un json, se usa una query string a=1&b=2
    https://domain.tdl/wp-json/wp/v2/users?username=username&password=password&email=user@domain.tdl
    Y obviamente con la autorizacion que tengas definida.
    – Te recomiendo que uses wp_remote_post y añadas lo necesario.
    – Te recomiendo que te leas la documentacion; https://developer.wordpress.org/rest-api/
    Especialmente el tema de la autentificacion y los usuarios.

    Iniciador del debate infoexperto

    (@infoexperto)

    He buscado informacion pero no encuentro la forma, todo falla

    kallookoo

    (@kallookoo)

    Hola @infoexperto

    Sin animo de ofender, tienes conocimientos de programacion?
    Te lo pregunto basicamente porque comentas que nada te funciona y deduzco que no tienes los suficientes conocimientos en lo relacionado a lo que comentas y no me refiero al WordPress en si.

    Ahora bien, suponiendo que la respuesta es afirmativa y sin ver el codigo no puedo decirte donde esta el error y haciendo lo que te comente deberias poder hacerlo perfectamente.

    En el caso de no tener conocimientos o no los suficientes, te recomiendo que contactes con un profesional, los foros no pueden sustituir a la ayuda profesional y están pensando para dar soporte a problemas genéricos o usuarios principiantes, pero no podemos sustituir al trabajo que hacen los profesionales independientes o las agencias de desarrollo.

    • Esta respuesta fue modificada hace 1 mes por kallookoo.
Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)
  • Debes estar registrado para responder a este debate.