لقد فعلت بالضبط ما أخبرتني به.
add_action( 'cred_save_data', 'cred_autologin_V3', 10, 3 );
function cred_autologin( $post_id, $form_data ){
if ( ID1 == $form_data['id'] ) { // Edit as required
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؟
تعديل: تم إنشاء المستخدم في ووردبريس وتم تسجيل دخوله ولكن لم يتم إنشاء المستخدم في Discourse.