Hice exactamente lo que me dijiste.
add_action( 'cred_save_data', 'cred_autologin_V3', 10, 3 );
function cred_autologin( $post_id, $form_data ){
if ( ID1 == $form_data['id'] ) { // Editar según sea necesario
wp_set_current_user( $post_id );
wp_set_auth_cookie( $post_id );
do_action( 'wp_login' );
// wp_redirect( home_url( '/some-ending-page/' ) );
// exit();
}
}
Pero obtengo el siguiente error:
Mensaje: Uncaught ArgumentCountError: Too few arguments to function WPDiscourse\WordPressEmailVerification\WordPressEmailVerification::verify_email_after_login(), 1 passed in /home/customer/www/[domain.com/public_html/wp-includes/class-wp-hook.php on line 307 and exactly 2 expected in /home/customer/www/[domain.com/public_html/wp-content/plugins/wp-discourse/lib/wordpress-email-verification.php:128**
Tengo otro código que omite la verificación por correo electrónico
add_filter( 'discourse_email_verification', 'disable_discourse_email_verification_prowess');
function disable_discourse_email_verification_prowess() {
wp_mail( 'himanshu@eshowprowess.com', 'User verified', 'Status must change' );
return false;
}
¿Es un problema de secuencia de código o necesito pasar algún parámetro a la acción wp_login?
Editar: el usuario fue creado en WP y se inició sesión, pero el usuario no fue creado en Discourse.