۳ عبدالله خسروی
خالی شدن پیغام هنگام وارد کردن ایمیل اشتباه
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۰۴ مهر ۱۴۰۱

با سلام خدمت عزیزان و استاد بزرگورار

در اجرای کدهای اعتبار سنجی پیعام خطای ایمیل ارسال نمی‌شود!

 false,
            'message' => $validation_result['message']
        ],403);
    }
    $user = wp_authenticate_email_password(null, $user_email, $user_password);
    if (is_wp_error($user))
    {
        wp_send_json([
            'success' => false,
            'message' => 'کاربری با این مشخصات یافت نشد'
        ],407);
    }
}
add_action('wp_ajax_nopriv_wp_auth_login','wp_auth_do_login');
function wp_auth_validate_email_and_password($email, $password){
    $result = [
        'is_valid' => false,
        'message' => ""
    ];
    if(empty($email)){
     $result ['is_valid']  = false;
     $result['message'] = 'ایمیل نمیتواند خالی باشد';
        return $result;
    }
    if(empty($password)){
        $result ['is_valid']  = false;
        $result['message'] = 'کلمه عبور نمیتواند خالی باشد';
        return $result;
    }
    if(!is_email($email)){
        $result ['is_valid']  = false;
        $result['message'] = 'ایمیل داده شده معتبر نمی‌باشد';
        return $result;
    }
    return $result;
}

با سلام و احترام

از سورس کد ضمیمه شده امکان متوجه شدن مشکل وجود ندارد.

پروژه را تحت فایل Zip ضمیمه کنید تا بررسی شود.

در ضمن اگر ممکن هست بفرمایید در چه بخشی این خطا را دریافت می‌کنید و چه زمانی.

موفق باشید.

بهنام مرادی ۰۴ مهر ۱۴۰۱، ۱۵:۴۱

تشکر از پاسخگوی‌‌ جناب مرادی

در بخش لاگین زمانی که ایمیل اشتباه را وارد می‌کنم باید پیغام "کاربری با این مشخصات یافت نشد" که ست کردم دریافت نمایم ولی بعداز ارسال ایمیل اشتباه محل پیغام خالی هست!

فایل پروژه ضمیمه شد

عبدالله خسروی ۰۵ مهر ۱۴۰۱، ۰۷:۴۶

با سلام مجدد

کد زیر را مشاهده کنید

8e0a-Screenshot 2022-09-27 224441.png

شما یک آرایه تحت عنوان $result تعریف کرده اید که در نهایت هم انرا Return می‌کنید

در این حالت کد شما از سه if عبور می‌کند ولی به مرحله بعدی نمی‌رود چون شما در اخر تابع Return را انجام میدهید و عملیات تمام می‌شود

خالی بودن باکس هم به همین دلیل هست که بخش message پیشفرض را خالی رها کرده اید.

پیاده سازی به این شکل خیلی اصولی نیست و بهتر است در صورت رخ داد خطا آرایه بازگشت داده شود.

موفق باشید.

بهترین پاسخ
بهنام مرادی ۰۵ مهر ۱۴۰۱، ۱۹:۱۹