Para crear, leer, actualizar y eliminar usuarios (Ccreate, Read, Uptate y Delete) de WordPress utilizando la WP REST API v2 desde Http Client de Cakephp 3, seguimos los siguientes pasos:
- Create:
// Cakephp create $http = new Client(); $response = $http->post('https://midominio.com/wp-json/wp/v2/users', ['username' => 'prueba', 'password' => 'prueba', 'email' => '[email protected]'], ['auth' => ['username' => 'miusuario', 'password' => 'mipassword'] ]); $json = $response->getJson(); debug($json); $estatusPeticion = $response->getStatusCode(); if ($estatusPeticion < 300) { echo('Usuario creado satisfactoriamente'); } else { echo('Error al crear el usuario. Código del error: ' . $estatusPeticion); }
// Cakephp read $http = new Client(); // $response = $http->get('https://midominio.com/wp-json/wp/v2/users/9', [], ['auth' => ['username' => 'miusuario', 'password' => 'mipassword'] ]); $json = $response->getJson(); debug($json); $estatusPeticion = $response->getStatusCode(); if ($estatusPeticion < 300) { echo('Búsqueda satisfactoria'); } else { echo('Error en la búsqueda del usuario. Código del error: ' . $estatusPeticion); }
// Cakephp update $http = new Client(); $response = $http->put('https://midominio.com/wp-json/wp/v2/users/3', ['email' => '[email protected]'], ['auth' => ['username' => 'miusuario', 'password' => 'mipassword'] ]); $json = $response->getJson(); debug($json); $estatusPeticion = $response->getStatusCode(); if ($estatusPeticion < 300) { echo('Usuario actualizado satisfactoriamente'); } else { echo('Error al intentar actualizar el usuario. Código del error: ' . $estatusPeticion); }
// Cakephp delete $http = new Client(); $response = $http->delete('https://midominio.com/wp-json/wp/v2/users/7', ['force' => true, 'reassign' => 1], ['auth' => ['username' => 'miusuario', 'password' => 'mipassword'] ]); $json = $response->getJson(); debug($json); $estatusPeticion = $response->getStatusCode(); if ($estatusPeticion < 300) { echo('Usuario eliminado satisfactoriamente'); } else { echo('Error al intentar eliminar el usuario. Código del error: ' . $estatusPeticion); }
Fuente: https://book.cakephp.org/3.0/en/core-libraries/httpclient.html