add_action('rest_api_init', 'register_reset_password_route'); function register_reset_password_route() { register_rest_route('wp/v1', '/users/resetpassword', array( 'methods' => 'POST', 'callback' => 'reset_password_callback', 'permission_callback' => '__return_true', )); } function reset_password_callback($request) { $user_data = $request->get_params(); if (empty($user_data['email'])) { return new WP_REST_Response(array( 'success' => false, 'message' => 'البريد الإلكتروني مطلوب', ), 400); } $user = get_user_by('email', $user_data['email']); if (!$user) { return new WP_REST_Response(array( 'success' => false, 'message' => 'المستخدم غير موجود', ), 404); } $reset = wp_generate_password(12, false); $result = wp_set_password($reset, $user->ID); if (is_wp_error($result)) { return new WP_REST_Response(array( 'success' => false, 'message' => $result->get_error_message(), ), 500); } else { wp_mail($user->user_email, 'إعادة تعيين كلمة المرور', 'تمت إعادة تعيين كلمة مرورك بنجاح. كلمة مرورك الجديدة هي: ' . $reset); return new WP_REST_Response(array( 'success' => true, 'message' => 'تم إعادة تعيين كلمة المرور بنجاح. يرجى التحقق من بريدك الإلكتروني للحصول على كلمة المرور الجديدة.', ), 200); } }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter