Descubre en este tutorial cómo conseguir que al registrarse un usuario en una web se cree otro idéntico en otra instalación de WordPress usando la API REST.
En este tutorial vas a aprender cómo puedes usar la API REST para que cuando se registre un usuario en la web1 se cree un usuario igual en la web2.
Esto puede ser muy interesante si quieres que los usuarios de una web tengan acceso a otra como parte de una suscripción o membresía.
Vamos a ver cómo conseguirlo:
Instrucciones para registrar un usuario idéntico en otra instalación de WordPress usando la API REST
1. Crea una contraseña para la API REST
Lo primero que tienes que hacer es crear una nueva contraseña de aplicación en la instalación de WordPress donde quieres que se cree el mismo usuario (web2) que en la entrada original (web1).
Para ello, en la web2, ve a Usuarios > Perfil y haz scroll hasta el apartado de «Contraseñas de aplicación».
A continuación rellena el campo de nombre de nueva contraseña (puede ser cualquiera) y pulsa en «Añadir una nueva contraseña de aplicación».
Una vez hecho, se mostrará el nombre de la contraseña y la contraseña. Asegúrate de copiarla y guardarla a buen recaudo porque no volverán mostrarse.
2. Envía el usuario y sus detalles a otro WordPress usando la API REST
Para obtener la información sobre los usuarios vas a usar el endpoint de la API REST que te da acceso a esa información.
Añade el siguiente snippet al fichero functions.php o a tu plugin de funcionalidades de la web1:
Para ver este código y los otros 2055 snippets de esta web,
identifícate o suscríbete aquí.
Con este código usas el hook user_register
para que se ejecute cuando haya un nuevo registro y el usuario (y todos los datos que decidas) se envíen a la otra instalación de WordPress.
En la primera parte del snippet defines las variables:
$api_username
= Nombre de usuario de WordPress$api_password
= Contraseña de aplicación obtenida en el paso anterior$website_url
= La URL de la web2$request_ur
l = La URL donde se hace la petición. En este caso es la concatenación:$website_url . '/wp-json/wp/v2/users'
que accede al endpoint para las entradas de la API REST.
Acuérdate de cambiar el valor de las siguientes variables por las de tu caso.
A continuación usas la función wp_remote_request
para obtener el endpoint para usuarios y usando el método POST
pasas los datos del usuario. En este caso:
'username'
= Nombre de usuario'email'
= Email'password'
= Contraseña'first_name'
= Nombre'last_name'
= Apellido'url'
= URL de la web'roles'
= roles de usuario
Pero puedes añadir más para personalizarlo a tu gusto. Estos son todos lo detalles que puedes enviar usando el método POST
al endpoint de usuarios:
username
name
first_name
last_name
email
url
description
locale
slug
roles
password
meta
Tienes más información al respecto en página oficial para desarrolladores de WordPress.
Si tienes alguna duda o sugerencia puedes dejarla en los comentarios.
Conclusiones
Ahora ya sabes cómo utilizar la API REST para crear un usuario en otra instalación a otra de WordPress.
Si tienes alguna duda te leo en los comentarios. Y si quieres dejarme una sugerencia para futuros tutoriales, envíamela a través del formulario de contacto.
Todo ventajas de ser suscriptor. 😉