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