Cómo crear un usuario de WordPress programáticamente

Publicado: 2021-10-23

¿Está buscando formas alternativas de crear usuarios que no involucren el panel de administración? Si es así, esta publicación es para ti. En esta guía, le mostraremos cómo crear un usuario de WordPress mediante programación junto con scripts de muestra que puede usar en su sitio.

Hoy en día, la mayoría de los sitios web permiten a los visitantes crear una cuenta y convertirse en usuarios registrados para obtener ciertos beneficios, como ofertas y descuentos exclusivos.

Cuando un nuevo usuario se registra, el sitio recopila información sobre el perfil y asigna un rol a ese usuario. Estos roles le permiten establecer diferentes permisos para cada usuario, como acceder a algunos contenidos restringidos, mostrar un menú de navegación específico para cada rol, tener acceso a ciertas ofertas, etc.

WordPress le permite administrar diferentes tipos de usuarios y proporciona funciones completas de administración de usuarios. Usando los múltiples roles disponibles por defecto, puede crear, actualizar y eliminar usuarios y asignar diferentes permisos a cada uno. Esto es bueno para algunos sitios web, pero si desea una solución más compleja para administrar diferentes tipos de permisos, es posible que deba crear usuarios de WordPress mediante programación.

Echemos un vistazo a cómo puedes hacer eso.

Cómo crear un usuario de WordPress programáticamente

Para crear usuarios mediante programación, puede aprovechar algunas de las funciones incorporadas de WordPress. En todos los casos, los únicos valores obligatorios son el nombre y la contraseña.

Una vez que se crea un usuario, WordPress puede enviar un correo electrónico para completar el registro desde su buzón. Incluso si el usuario ya conoce las credenciales de inicio de sesión, siempre es una buena idea enviar correos electrónicos de registro de usuario por varias razones:

  • Te aseguras de que el correo electrónico que proporcionaron sea correcto y no tenga errores tipográficos.
  • Los usuarios pueden volver a ese correo electrónico en caso de que olviden su usuario o contraseña

Al crear usuarios, puede asignar una contraseña, un nombre y una función. Posteriormente, los usuarios pueden cambiar y actualizar cualquiera de estos datos, así como toda la información de sus perfiles.

Ahora que tenemos una idea clara de lo que puede hacer, echemos un vistazo a algunos scripts de muestra que le permitirán crear usuarios de diferentes maneras.

NOTA : Como editaremos algunos archivos principales, antes de comenzar, le recomendamos que genere una copia de seguridad completa de su sitio. Además, le recomendamos que cree un tema secundario o use un complemento de tema secundario si aún no está usando uno.

Scripts de muestra para crear usuarios de WordPress con código

En esta sección, le mostraremos varios scripts que puede usar para crear usuarios en su sitio mediante programación. Encontrará los scripts y una explicación de lo que hace cada sección del código.

Crear un solo usuario

Crear un usuario de WordPress mediante programación es bastante simple y solo requiere una sola línea de código. Los únicos valores requeridos son el nombre y la contraseña y también puede establecer la contraseña usando la función wp_create_user() de la siguiente manera:

 wp_create_user('johndoe', 'passwordgoeshere', '[email protected]' );

Pegue esta línea de código en el archivo functions.php de su tema hijo para crear un usuario llamado johndoe .

Cómo crear un usuario de WordPress programáticamente

Además de eso, podemos hacer algunas cosas más para mejorar el código anterior. Por ejemplo, para evitar la creación del usuario cuando navega por las páginas del backend o recarga la pantalla, debe usar un gancho. El nuevo código se verá así:

 add_action('admin_init','QuadLayers_create_user');
función QuadLayers_create_user(){
  wp_create_user('johndoe', 'passwordffgoeshere', '[email protected]' );
}

Si no está familiarizado con los ganchos, le recomendamos que consulte nuestra Guía de ganchos.

Crear múltiples usuarios

En lugar de repetir la función anterior varias veces, hay una forma más eficiente de crear varios usuarios a la vez.

La siguiente función creará usuarios a partir de una matriz determinada, donde se almacenan los nombres y las contraseñas.

 add_action('admin_init','QuadLayers_create_users');
función QuadLayers_create_users(){
    $usuarios=matriz(
       array('johndoe','lacontraseña1'),
       array('tomdoe','lacontraseña2'),
       array('andrewdoe','lacontraseña3'),
       array('jeffdoe','lacontraseña4')
    );
    foreach ($usuarios como $usuario){     
       wp_create_user ($ usuario [0], $ usuario [1]);
    }    
}

Para lograr esto, usamos un bucle foreach() para crear los cuatro usuarios almacenados en la matriz $users .

Cómo crear múltiples usuarios de wordpress

En este ejemplo, hemos creado cuatro usuarios, pero puede crear tantos como desee. Simplemente agréguelos a la matriz y asígneles un nombre y una contraseña.

Crear un usuario y enviar un correo electrónico

Ahora veamos cómo puede crear un usuario, generar una contraseña y enviarla a un correo electrónico determinado con un poco de código.

En el siguiente script, usamos dos nuevas funciones:

  1. wp_generate_password() para generar una contraseña
  2. wp_mail() para enviar el correo electrónico de registro al destinatario
 add_action('admin_init','QuadLayers_create_user_send_mail');
función QuadLayers_create_user_send_mail(){
    $contraseña=wp_generar_contraseña(12, verdadero);
    wp_create_user('joedoe',$contraseña);
    wp_mail( '[email protected]', '¡Bienvenido!', 'Su contraseña es: ' . $contraseña );  
}

Este código creará un usuario de WordPress mediante programación, generará una contraseña y enviará un correo electrónico a [email protected] que dice “¡Bienvenido! Su contraseña es “ . Asegúrese de personalizar el usuario, el correo electrónico y el mensaje cuando lo use en su sitio.

Crear usuario y asignar datos de cuenta

En este ejemplo, estamos creando un usuario con información adjunta, como nombre, apellido y función.

Tenga en cuenta que aquí usamos una función diferente. En lugar de la función wp_create_user() , usamos wp_insert_user() que es similar pero más flexible y potente.

 add_action('admin_init','QuadLayers_create_user_meta');
función QuadLayers_create_user_meta(){   
wp_insertar_usuario(matriz(
  'user_login' => 'janedoe',
  'user_pass' => 'contraseña aquí',
  'user_email' => '[correo electrónico protegido]',
  'first_name' => 'Jane',
  'last_name' => 'Cierva',
  'display_name' => 'Jane Doe',
  'rol' => 'editor'
));
}

Como puede ver, en este ejemplo estamos creando un usuario y asignándole un nombre (Jane), apellido (Doe), correo electrónico ( [email protected]) , rol ( editor ), etc.

Comprobar si el usuario existe

Este script es para validación y es útil en la mayoría de los casos, por lo que te recomendamos que lo apliques a tu código.

Así es como puede verificar si un usuario existe a partir de un nombre de usuario (janedoe en este ejemplo) usando la función username_exists() .

 add_action('admin_init','QuadLayers_if_user_exists');
función QuadLayers_if_user_exists(){
    if( null == nombre_usuario_existe( 'janedoe' ) ) {
       echo "no es un usuario existente"; // Hacer algo para un usuario inexistente
    }
    demás{
           echo "Usuario existente"; // Hacer algo si existe el nombre de usuario
    }
}

Este script marca a los usuarios con dos textos diferentes según existan o no:

  • Usuarios que no existen: “usuario no existente”
  • Usuarios que existen: “Usuario Existente”

Conclusión

Con todo, WordPress viene con funciones para crear, administrar y eliminar diferentes tipos de usuarios. Aunque esto puede ser suficiente para la mayoría de los sitios web, si desea tener más opciones y poder administrar más permisos, es una buena idea crear usuarios usando un poco de código.

En esta guía, hemos visto cómo crear un usuario de WordPress mediante programación y varios ejemplos para hacer que el proceso sea más eficiente. Hemos visto cómo crear varios usuarios a la vez, cómo enviarles un correo electrónico automáticamente y asignarles datos. Finalmente, hemos agregado la validación para verificar si el usuario ya existe o no. ¡Ahora es el momento de personalizar estos scripts y usarlos en su sitio!

¿Ha agregado usuarios a su sitio usando estos scripts? ¿Cómo los has personalizado? ¡Háganos saber en los comentarios a continuación!

Para obtener más opciones para mejorar su sitio con un poco de código, consulte las siguientes guías:

  • Cómo crear un tipo de publicación personalizada de WordPress mediante programación
  • Guía para crear publicaciones y páginas programáticamente en WordPress
  • Cómo cambiar el estado del pedido automáticamente en WooCommerce