Si quieres apuntar a los usuarios registrados de WordPress a tus listas de MailPoet (con el permiso correspondiente), puedes usar este código:
add_action('user_register', 'agregar_usuario_a_listas_mailpoet');
function agregar_usuario_a_listas_mailpoet($user_id) {
if ( class_exists(MailPoetAPIAPI::class ) ) {
$mailpoet_api = MailPoetAPIAPI::MP('v1');
// Reemplaza los 'ID_DE_TUS_LISTAS' con los IDs de las listas de Mailpoet a las que deseas añadir los usuarios.
$lists = array(7,9,6,8,4,5); //Aquí no hace falta añadir a una lista especial porque ya hay una nativa de MailPoet con los usuarios de WP
$user_data = get_userdata( $user_id );
$sub = array(
'email' => sanitize_email( $user_data->user_email ),
'first_name' => sanitize_text_field( $user_data->first_name ),
// 'last_name' => sanitize_text_field( $_REQUEST['last_name'] ),
// 'cf_my_field' => sanitize_text_field( $_REQUEST['my_field'] ) //Replace 'my_field' with your custom field name (optional).
);
// See if the user exists first.
try {
$subscriber = $mailpoet_api->getSubscriber( $sub['email'] );
} catch ( Throwable $th ) {
// If the user doesn't exist, create them.
$subscriber = $mailpoet_api->addSubscriber( $sub );
}
// Try add the user to lists.
if ( $subscriber ) {
$user_id = $subscriber['id'];
// add users to the lists.
try {
$subscribe = $mailpoet_api->subscribeToLists( $user_id, $lists );
} catch ( Throwable $th ) {
echo 'unable to add to lists - ' . $th;
}
}
}
}