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.
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).