Soporte » Guías – Resolución de problemas » Cambiar usuarios NO confirmados a “pending”

  • horseguards

    (@horseguards)



    En mi lista de usuarios, tengo a todos como “Suscriptor”, aún a los que aún no confirmaron su email. Necesito de alguna forma cambiar ese estatus a “Pendiente” o “Unconfirmed” o algo que lo distinga de los ya confirmados.

    Hay alguna forma de hacerlo, sin utilizar plugins?

    Aquí está la tabla donde se puede encontrar la información de si está o no pendiente de confirmación [awaiting_email_confirmation], en la tabla wp_usermeta:

    https://www.awesomescreenshot.com/image/3239584/0bc318641d6e9d13ea82f17bec754f3f

    Podría alguien indicarme de qué manera hacerlo?

    Gracias

Viendo 5 respuestas - 1 de 5 (de 5 total)
  • Carlos Longarela

    (@carloslongarela)

    Hola @horseguards lo primero que deberías hacer es crear un nuevo tipo de usuario, por ejemplo Pendiente.

    Después podrías realizar una consulta para sacar todos los IDs de la tabla de usuarios pendientes, algo así como SELECT user_id FROM table WHERE meta_key='account_status' AND meta_value='awaiting_email_confirmation' y recorrer los resultados actualizando el estado de cada usuario con wp_update_user algo similar a wp_update_user( array( 'ID' => $user_id, 'role' => 'Pendiente' ) )

    El código te lo estoy poniendo de memoria sin probarlo, por lo que realiza copia de seguridad de la base de datos antes de ejecutar nada y realiza pruebas antes de ejecutar las consultas de update.

    Saludos.

    cybmeta

    (@cybmeta)

    No estoy seguro pero a mi entender estado de la cuenta (“unconfirmed”, “unapproved”) y rol de usuario (“subscriptor”, “editor”, etc) son dos cosas diferentes. El estado de esos usuarios que no han confirmado su email es el estado “unconfirmed” aunque tengan el rol suscriptor.´

    ¿Qué persigues exactamente?

    Hola

    Disculpas por la demora en responder. He instalado Mailster para enviar mails y autoresponders.
    Pretendo crear un par de autoresponders para quien recién se da de alta, luego de que confirmen su registro, es decir, doble opt in.

    El problema es que tengo muchos que se dan de alta y no confirman, sea por mail erróneo, o lo que sea, y esos usuarios me quedan como MEMBER, igual que los demás. Entonces, he configurado todo para que Mailster importe automáticamente a una lista a todos los usuarios nuevos, y como todos están como MEMBER, importa también los que aún no están confirmados.
    Por lo tanto, debe crear un nuevo perfil, bien sea UNCONFIRMED o similar, para así seguir importando los MEMBER y dejar los ‘awaiting_email_confirmation’ fuera de la lista.
    Cómo hago?

    Gracias!

    Agrego: he intercambiado más de 10 mails con los developers de Mailster y me he dado por vencido, no me han sabido o querido ayudar.

    Slds

    Creo que haces un planteamiento erróneo. No necesitas un nuevo rol ni perfil, lo que necesitas es exportar solo los usuarios que hayan confirmado su email.

    $args = [
        'meta_query' => [
            'key'     => 'account_status',
            'value'   => 'approved'
        ]
    ];
    $users = new WP_User_Query( $args );

    Para más opciones visita la documentación de WP_User_Query() y de Ultimate Member (por el contenido de tu pregunta y el screenshot que pones, intuyo que estás utilizando el plugin Ultimate Member).

Viendo 5 respuestas - 1 de 5 (de 5 total)
  • Debes estar registrado para responder a este tema.