我完全按照你说的做了。
add_action( 'cred_save_data', 'cred_autologin_V3', 10, 3 );
function cred_autologin( $post_id, $form_data ){
if ( ID1 == $form_data['id'] ) { // 根据需要编辑
wp_set_current_user( $post_id );
wp_set_auth_cookie( $post_id );
do_action( 'wp_login' );
// wp_redirect( home_url( '/some-ending-page/' ) );
// exit();
}
}
但我收到了以下错误:
消息: 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**
我还有另一段绕过邮件验证的代码:
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;
}
这是代码顺序问题,还是我需要向 wp_login 操作传递一些参数?
编辑:用户已在 WP 中创建并登录,但用户未在 Discourse 中创建。