✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Creación programática de usuarios de WordPress

22

Esta publicación es la segunda parte de una serie en la que estoy trabajando que habla sobre la Asociación de metadatos de WordPress, y la primera parte implica trabajar en el proceso de creación de usuarios de WordPress mediante programación (¡pero han pasado cinco años!).

He hablado de hacer esto antes, pero las cosas cambian con el tiempo a medida que ganamos más experiencia, ¿verdad? Y al trabajar en una serie como esta, creo que ayuda tener un conjunto de requisitos que podamos seguir, como mínimo, para simular cómo sería que esto sucediera en un proyecto real.

Entonces, en esta publicación en particular, vamos a echar un vistazo a lo siguiente:

  1. Recibir información del usuario en un formato de datos particular,
  2. Identificar qué información se requiere para crear un usuario,
  3. Creando el usuario,
  4. Asegurarnos de que nuestro código esté a la altura de los estándares de codificación y la legibilidad.

Parece mucho, aunque no tengo intenciones de hacer de esta una publicación larga. Dicho esto, si esto es algo que está buscando para aprender cómo pensar o cómo abordar, entonces aquí vamos.

Crear usuarios de WordPress

Suponga que alguien, tal vez un cliente o incluso usted mismo, como información que se utilizará para crear un usuario. Necesita al menos la siguiente información:

  1. un nombre de usuario,
  2. una contraseña,
  3. Una dirección de correo electrónico.

Cuando se trata de crear un nombre de usuario, tiendo a favorecer el uso de la dirección de correo electrónico como nombre de usuario porque es algo que está garantizado que es único para casi cualquier persona que use la cuenta.

Entonces, para este tutorial, eso es exactamente lo que voy a usar. En lo que respecta a la contraseña, hablaré sobre la generación de contraseñas en un momento.

Finalmente, puede asumir que los datos que tiene vienen en cualquier forma: tal vez esté en JSON, tal vez en un CSV, tal vez en un XML. Cualquiera que sea el caso, depende de usted analizar esta información en PHP para que pueda trabajar fácilmente con la información.

Para simplificar las cosas en esta publicación, supondré que tenemos un solo registro y que tendremos la información disponible en una matriz. Esto no significa que comience en una matriz, sino que eventualmente lo colocaremos en una matriz.

1 Información del Usuario

Supongamos que tenemos una persona llamada "Meghan" que vamos a agregar al sistema. Tenemos una dirección de correo electrónico y eso es todo.

Un personaje de ejemplo (representación de artista, por supuesto 🙂

Pero eso está bien. Es el barebones de lo que necesitamos. Así que tomemos esta información :

<?php

$user_info = array(
  'email'      => 'meghan@emaildomain.com',
  'first_name' => 'Meghan',
  'last_name'  => 'McFarlin',
);

Y convertirlo en algo que podamos usar para crear una cuenta.

2 Creación de la cuenta

Lo primero que debemos hacer es asegurarnos de que no exista un usuario para esta dirección de correo electrónico. Si es así, simplemente regresaremos. Es posible que desee mostrar un mensaje de configuración o algún otro tipo de información para que el usuario final sepa que no está creando esta cuenta porque ya existe.

Pero eso está más allá del alcance de esta publicación.

En su lugar, vamos a volver :

<?php

// Read the email address - if it's - invalid or the user exists, then return.
$email = $user_info['email'];
if (! filter_var( $email, FILTER_VALIDATE_EMAIL) || username_exists( $email)) {
  return;
}

Por otra parte, supongamos que el usuario no existe. Si no lo hace, lo cual no debería (de lo contrario, no hay razón para esta publicación 😏), entonces crearemos una cuenta para ella.

Para hacer esto, necesitamos su dirección de correo electrónico y una contraseña. Afortunadamente, generar una contraseña es simple:

<?php

$password = wp_generate_password( 16, false );

Así que ahora podemos tomar la dirección de correo electrónico y la contraseña y crear la cuenta de usuario.

<?php

// Grab the email and create a password.
$email    = $user_info['email'];
$password = wp_generate_password( 12, false );

// Create the user and set her role.
$user_id = wp_create_user( $email, $password, $email );

// Set the user's role (and remove the previous role).
$user = new WP_User( $user_id );
$user->set_role( 'author' );

Tenga en cuenta que en el código anterior también estamos configurando el rol. La forma de hacer esto es tomar primero una instancia de WP_User y luego con nuestro $user_id y luego establecer el rol.

Creación programática de usuarios de WordPress

Estoy optando por usar author, pero hay un conjunto de otros entre los que puede elegir (o usar lo que sea que esté en su estructura de datos).

3 ¿No hay más que eso?

Y con eso, tu usuario debería estar creado. Parte de esto depende en gran medida del enlace que haya utilizado, cómo lo haya implementado en su proceso y la forma en que le permita a un administrador crear cuentas.

Este es un tema más avanzado que eventualmente me gustaría cubrir en una publicación futura. Para mantener esta serie lo más directa y sencilla posible, trato de concentrarme en los pasos básicos requeridos.

Todo lo demás puede implementarse o vestirse según cualquier otra cosa que se necesite según los requisitos del proyecto.

Eso es solo crear una cuenta

Sin embargo, esto es solo el procesamiento de crear usuarios de WordPress mediante programación. De hecho, esto es solo crear un usuario.

Para crear varios usuarios, suponga que tiene varias matrices con información a través de la cual puede iterar y luego crear los usuarios. La implementación es la misma aunque variará de cada cuenta.

Dicho esto, mañana me ocuparé de la creación programática de contenido de publicaciones. Y después de eso, hablaremos sobre cómo relacionar a un usuario determinado con el contenido de la publicación dada y qué podemos hacer con eso (además de por qué esto sería importante).

Publicaciones de la serie

  1. Asociación de metadatos de WordPress: cómo hacerlo
  2. Creación programática de usuarios de WordPress
  3. Tipos de publicaciones de WordPress: una abstracción para las entidades
  4. Asociación de Metadatos de WordPress: Entidades Relacionadas

Fuente de grabación: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More