WordPress CPT con capacidad para iniciar sesión y registrarse

4 minutos de lectura

Somos responsables de un complemento de WordPress que, como parte de su funcionalidad, tiene un tipo de mensaje personalizado llamado ‘Solicitante’. Estos son solicitantes que buscan comprar una propiedad, por lo que en una publicación puede registrar cosas como sus datos de contacto y los requisitos de búsqueda.

Ahora… ha salido a la luz que necesitamos permitir que estos solicitantes puedan iniciar sesión y realizar varias acciones, como guardar propiedades en una lista de ‘Favoritos’ o editar sus propios requisitos.

Si estuviéramos construyendo el complemento desde cero, simplemente lo habría hecho como usuario, sin embargo, este es un complemento utilizado por cientos de personas, por lo que no tenemos ese lujo y debemos mantenerlo como un CPT.

Mi pregunta es… ¿cómo puedo/debo mantenerlo como CPT mientras permito que estas personas inicien sesión y se registren?

Mis dos pensamientos iniciales son:

  1. Para cada publicación personalizada, tiene un usuario de WordPress y mantiene los dos sincronizados (es decir, si se elimina el usuario, la publicación personalizada se elimina al mismo tiempo). De esa manera, podría usar el inicio de sesión incorporado y la funcionalidad de seguridad proporcionada por WordPress, pero tiene esta pesadilla de tratar de mantener los dos sincronizados.

o

  1. Creamos nuestra propia funcionalidad personalizada de ‘inicio de sesión’ y ‘registro’. Almacenamos la dirección de correo electrónico y la contraseña en la publicación personalizada y las usamos para validarlas. Luego también realizar nuestra propia gestión de sesiones, etc.

o

  1. La opción final es que, de hecho, desechamos el CPT por completo y solo usamos ‘usuarios’. Luego escriba algún tipo de secuencia de comandos de migración para mover los CPT a los usuarios.

Espero que tenga sentido. Cualquier pensamiento/idea bienvenido.

He escrito y administrado 2 creadores de páginas y más de una docena de otros complementos para WooThemes Storefront, WooThemes Canvas y WooCommerce y algunos complementos independientes, según mi experiencia…

La opción final es que, de hecho, desechamos el CPT por completo y solo usamos ‘usuarios’. Luego escriba algún tipo de secuencia de comandos de migración para mover los CPT a los usuarios.

En mi experiencia, los scripts de migración están bien para pequeños cambios, como, tal vez en su caso, agregar un nuevo metacampo predeterminado para el tipo de publicación, pero cambiar algo tan fundamental para las funciones del complemento no solo requeriría mucho trabajo (como consultar a los usuarios en lugar de publicaciones ) pero también enloquecen a sus usuarios, que usan como tal vez usar bucles de publicación personalizados… Así que esto es No recomendado

Creamos nuestra propia funcionalidad personalizada de ‘inicio de sesión’ y ‘registro’. Almacenamos la dirección de correo electrónico y la contraseña en la publicación personalizada y las usamos para validarlas. Luego también realizar nuestra propia gestión de sesiones, etc.

De nuevo, esto es demasiado trabajo para algo que viene integrado en WordPress… Probablemente omita esto también…

Para cada publicación personalizada, tiene un usuario de WordPress y mantiene los dos sincronizados (es decir, si se elimina el usuario, la publicación personalizada se elimina al mismo tiempo). De esa manera, podría usar el inicio de sesión incorporado y la funcionalidad de seguridad proporcionada por WordPress, pero tiene esta pesadilla de tratar de mantener los dos sincronizados.

Entonces resulta que la primera opción parece ser la mejor opción… Simplemente puede usar user_register y profile_update ganchos para mantener las publicaciones sincronizadas con los usuarios y save_post gancho para mantener a los usuarios sincronizados con las publicaciones. y un gancho de activación del complemento para generar usuarios a partir de publicaciones sobre la activación de una nueva versión.

Espero que ayude. 🙂

Preferiría usar usuarios con roles en wordpress.

Puede crear otro rol “Solicitante” y asignarle las capacidades requeridas. De esta manera, será parte del módulo de usuario y puede agregar tanta información como sea posible en user_meta, que wordpress usa de forma predeterminada para almacenar información adicional del usuario.

Pocas referencias de agregar funciones y capacidades de usuario y user_meta.

Agregar rol

Agregar capacidad

Agregar meta del usuario

Espero que esto lo ayude a proceder de la manera estándar de wordpress CMS.

¿Ha sido útil esta solución?