Resumen de IA
¿Alguna vez te has preguntado cómo asignar roles de usuario condicionalmente en WordPress basándote en ciertos criterios? Esto puede ser increíblemente útil para sitios que requieren roles únicos basados en acciones del usuario, estado de membresía u otros criterios.
Si bien WPForms y el complemento User Registration son herramientas potentes para crear formularios de registro, a veces necesitas asignar roles de usuario dinámicamente basándote en condiciones específicas.
En esta guía, te mostraré cómo asignar roles de usuario condicionalmente en WordPress usando WPForms.
Comprender los roles y capacidades de usuario de WordPress
WordPress tiene varios roles integrados. A continuación, he resaltado los roles de usuario predeterminados que admite WordPress:
- Administrador: Acceso completo al backend del sitio. Este rol puede realizar actividades como añadir nuevos usuarios, editar roles de usuario, instalar complementos y temas, etc.
- Editor: Puede gestionar y publicar contenido, incluso contenido escrito por otros. El rol a menudo se limita a actividades relacionadas con las publicaciones.
- Autor: El rol de Autor en WordPress permite a los usuarios publicar y gestionar solo sus propias publicaciones.
- Colaborador: En WordPress, el rol de colaborador puede escribir y gestionar sus publicaciones, pero no puede publicarlas.
- Suscriptor: Tiene acceso limitado, generalmente para leer o comentar.
Cada rol tiene un conjunto de "capacidades" que dictan lo que los usuarios pueden y no pueden hacer. Es importante familiarizarse con las capacidades de los roles de usuario de WordPress para saber qué permisos obtendrán los usuarios al registrarse en tu sitio. Recomiendo consultar la guía de WPBeginner si deseas obtener más información sobre roles y capacidades de usuario en WordPress.
Cómo asignar roles de usuario condicionalmente en WordPress
Aquí tienes una guía paso a paso sobre cómo asignar roles de usuario condicionalmente en WordPress.
- Paso 1: Instalar y Activar el Complemento WPForms
- Paso 2: Instalar y Configurar el Complemento User Registration
- Paso 3: Añadir Fragmento para Asignar Rol de Usuario Condicionalmente
- Paso 4: Probar el Formulario para Asignar Roles de Usuario Condicionalmente
- Paso 5: Publicar tu Formulario de Registro de WordPress
Paso 1: Instalar y Activar el Complemento WPForms
WPForms es el mejor complemento para crear formularios básicos y avanzados en WordPress.
Desde formularios de contacto sencillos hasta funciones más avanzadas como lógica condicional, es una herramienta fiable que me ha funcionado bien en varios sitios.
La licencia Pro de WPForms incluye acceso al complemento User Registration, que te permite crear formularios de registro e inicio de sesión en tu sitio de WordPress.
Una vez que hayas comprado la licencia Pro, deberías instalar y activar WPForms en tu sitio de WordPress. Si es la primera vez, consulta esta guía para aprender cómo instalar WPForms.
Crea tu formulario de registro de usuarios ahora
Paso 2: Instalar y Configurar el Complemento User Registration
Después de instalar el complemento WPForms, también necesitarás instalar el complemento User Registration.
Para instalar el complemento, dirígete al área de administración de WordPress y ve a WPForms » Complementos. Luego, desplázate hacia abajo hasta que encuentres el Complemento de registro de usuarios, o utiliza la barra de búsqueda. Cuando lo encuentres, haz clic en Instalar complemento.
Una vez que hayas instalado y activado el complemento de registro de usuarios en tu sitio, procede a crear tu formulario de registro.
Creación de su formulario
Puedes crear tu formulario desde cero o usar nuestra plantilla de formulario de registro de usuarios para acelerar el proceso de creación del formulario. Para este tutorial, usaremos la plantilla de formulario de registro de usuarios. Para acceder a esta plantilla, navega a WPForms » Añadir nuevo. Luego, selecciona Plantillas de complementos en el menú lateral.
Desde aquí, haz clic en el botón Usar plantilla debajo de la plantilla del formulario de registro de usuarios.
Esto te dirigirá al creador de formularios, donde podrás personalizar aún más la plantilla.
En el creador de formularios, añade un campo de opciones a tu formulario. Para este tutorial, añadiré el campo desplegable con 2 opciones: Profesor y Estudiante.
También habilitaré la opción Requerido para que los usuarios deban seleccionar un tipo de cuenta al registrarse.
Toma nota del ID del campo desplegable, ya que lo necesitaremos en el siguiente paso.
Después de añadir los campos y personalizar las opciones de los campos, ve a Ajustes » Registro de usuarios para acceder a los ajustes adicionales del complemento.
Si utilizaste la plantilla de formulario de registro de usuarios, todas las asignaciones de campos estarán completas. Sin embargo, si estás creando tu formulario de registro desde cero, necesitarás asignar tus campos del formulario a los metadatos de usuario de WordPress.
Por defecto, la sección Roles de usuario está configurada como Suscriptor. No te preocupes por la asignación de roles por ahora, ya que esto se gestionará mediante lógica condicional. Sin embargo, ten en cuenta que este será el rol predeterminado asignado a los usuarios si el fragmento de código no funciona correctamente en tu sitio.
Una vez que hayas terminado de personalizar tu formulario, asegúrate de hacer clic en el botón Guardar para guardar tus cambios.
Paso 3: Añadir Fragmento para Asignar Rol de Usuario Condicionalmente
WPForms actualmente no admite la asignación de roles de usuario basada en la entrada de otros campos de forma predeterminada. Sin embargo, con un fragmento de código PHP personalizado, puedes personalizar tu formulario de registro para asignar roles de usuario condicionalmente según la entrada del formulario.
Para nuestro ejemplo, lo configuraremos para que compruebe el campo desplegable que añadimos al formulario de registro. Si el usuario selecciona Profesor como su tipo de cuenta, asignaremos un rol de Editor al usuario. Si selecciona Estudiante, el fragmento de código les asignará un rol de Autor.
Para continuar, copie y pegue el fragmento a continuación en su sitio. Recomiendo usar el plugin WPCode para agregar el fragmento a su sitio. Este plugin facilita la adición de fragmentos de código personalizados a sitios de WordPress sin tener que modificar el archivo functions.php o preocuparse por romper el sitio.
Para obtener detalles sobre cómo usar el plugin WPCode, consulte nuestro tutorial sobre cómo agregar fragmentos personalizados a WordPress.
Explicación del código
El fragmento anterior utiliza el filtro wpforms_user_registration_process_registration_get_data para capturar los datos del usuario después de que envían su formulario de registro. Estamos verificando el campo desplegable en el formulario y asignando un rol al usuario según su entrada.
Hemos configurado el fragmento para que funcione solo en el formulario con un ID de 13. Esto corresponde al ID de mi formulario de registro. Deberá actualizar este ID para que coincida con el ID de su formulario. Para obtener el ID de su formulario, vaya a WPForms » Todos los formularios y mire en la columna Shortcode. El número en el shortcode es el ID del formulario.
Además, la variable $role_field_id, que es el ID del campo desplegable, está configurada en 6 en el código anterior. También deberá reemplazarla para que coincida con la de su campo desplegable. Recuerde que le pedí que anotara el ID del campo desplegable. Aquí es donde usaremos el valor.
La matriz $role_mapping es donde definimos la asignación de los valores del campo desplegable. Profesor se asigna al rol de Editor en WordPress, mientras que la opción Estudiante se asigna al rol de usuario Autor. Puede agregar más pares clave-valor según el número de opciones en su formulario de registro.
Consejo profesional
La asignación de campos Estudiante y Profesor en el fragmento anterior corresponde a las opciones que especifiqué en el campo desplegable al personalizar el formulario de registro. Si las opciones de su campo desplegable son diferentes a las mías, asegúrese de actualizar los pares de claves en la matriz $role_mapping para que coincidan con los valores que utilizó en su formulario.
Usamos el slug asociado con el rol de usuario para asignarlo en el fragmento. Por ejemplo, 'editor' corresponde al rol de Editor en WordPress. A continuación, hemos resaltado los roles de usuario predeterminados de WordPress y sus slugs:
- Administrador – ‘administrator’
- Editor – ‘editor’
- Autor – ‘author’
- Colaborador – ‘contributor’
- Suscriptor – ‘subscriber’
Paso 4: Probar el Formulario para Asignar Roles de Usuario Condicionalmente
El siguiente paso después de agregar el fragmento es probar el formulario para asegurarse de que funcione correctamente antes de implementarlo para sus usuarios. Para ello, recomiendo enviar una entrada de prueba para ver si el rol de usuario se establece dinámicamente.
Enviaré un registro de prueba en mi formulario y estableceré el campo Tipo de cuenta en Profesor.
Ahora, para verificar la cuenta de usuario en el área de administración de WordPress, vaya a Usuarios » Todos los usuarios. Aquí verá todas las cuentas de usuario en su sitio. Como elegí Profesor al completar el formulario de registro, el rol del usuario de prueba se establece dinámicamente como Editor.
Algo a tener en cuenta al permitir que los usuarios elijan su rol en el frontend es que no puedes controlar las opciones que los usuarios seleccionarán. En nuestra implementación, por ejemplo, un estudiante aún puede elegir el tipo de cuenta Profesor, y el formulario se enviará de todos modos.
Puedes usar nuestro complemento Bloqueador de Formularios para restringir el acceso a tu formulario de registro. Esto asegura que solo los usuarios con una contraseña específica puedan acceder al formulario.
Alternativamente, puedes habilitar la activación de usuarios para el formulario de registro navegando a Ajustes » Registro de Usuarios en el constructor de formularios. Luego, activa la opción Habilitar activación de usuarios y selecciona el método Aprobación Manual.
De esta manera, el administrador del sitio revisará manualmente cada registro de usuario y aprobará las cuentas de usuario si cumplen con tus requisitos. Puedes confirmar si el usuario eligió el tipo de cuenta correcto antes de aprobar su cuenta.
Lee También: Seguridad en la Carga de Archivos: Mejores Consejos para Formularios en Línea
Paso 5: Publicar tu Formulario de Registro de WordPress
Para concluir, agreguemos el formulario de registro a una página. Para hacerlo, edita el formulario para acceder al constructor de formularios. Luego haz clic en el botón Incrustar en la esquina superior derecha de la página del constructor de formularios.
Tendrás la opción de publicar tu formulario en una página nueva o existente. Para esta guía, elegiré la opción Crear Nueva Página.
Dale un nombre a tu nueva página y haz clic en ¡Vamos!.
Serás dirigido al editor de páginas de WordPress con tu formulario incrustado en la página. Haz clic en el botón Publicar para publicar tu página.
Cuando revises esta página en el frontend, verás que tienes un formulario de registro de usuarios completamente funcional. Ten en cuenta que también es posible incrustar tus formularios usando un shortcode o widget.
Preguntas Frecuentes – Cómo Asignar Roles de Usuario Condicionalmente
Estas son respuestas a algunas de las preguntas más frecuentes que recibimos sobre la asignación condicional de roles de usuario en WordPress.
¿Puedo asignar múltiples roles de usuario condicionalmente?
No, el núcleo de WordPress solo admite un rol por usuario por defecto. Sin embargo, puedes usar complementos como User Role Editor para asignar manualmente múltiples roles.
¿Se verán afectados los usuarios existentes cuando implemente la asignación condicional de roles de usuario?
No, esto solo afecta a los nuevos registros de usuarios a través de WPForms. Los roles de los usuarios existentes permanecen sin cambios.
¿Cómo creo un rol de usuario personalizado en WordPress?
La forma más fácil de lograr esto es con un complemento de WordPress. Con el complemento Members, puedes agregar nuevos roles de usuario en tu sitio y personalizar la capacidad de cada rol. El nuevo rol que crees aparecerá en el menú desplegable Roles de Usuario al personalizar el complemento de Registro de Usuarios de WPForms.
¿Por qué el fragmento no funciona en mi sitio?
Esto puede ocurrir si el ID del formulario o el ID del campo no coinciden con el de tu formulario de registro. Asegúrate de actualizar el fragmento con los IDs de tu formulario y campos.
Además, si las opciones del campo desplegable no coinciden con los roles especificados en el fragmento, WPForms asignará al usuario el rol predeterminado especificado al configurar el complemento de registro de usuarios.
A continuación, personaliza el estilo de tu formulario de registro
Ahora tienes un formulario de registro funcional que asigna dinámicamente roles de usuario según la entrada de los campos de tu formulario. Te mostré cómo mostrar el formulario de registro en el frontend de tu sitio. Pero, ¿sabías que puedes ir un paso más allá y embellecer tu formulario? WPForms te permite dar estilo a tus formularios de WordPress sin escribir ningún CSS.
También puedes crear una página de inicio de sesión personalizada con la marca del logotipo de tu sitio para permitir que los usuarios inicien sesión en sus cuentas.
Estiliza tu formulario de WordPress ahora
¿Listo para crear tu formulario? Empieza hoy mismo con el plugin de creación de formularios de WordPress más fácil. WPForms Pro incluye muchas plantillas gratuitas y ofrece una garantía de devolución de dinero de 14 días.
Si este artículo te ha sido útil, síguenos en Facebook y Twitter para obtener más tutoriales y guías gratuitas de WordPress.