wp_ajax_send_password_reset()


WordPressのwp_ajax_send_password_reset()関数は、AJAX経由でパスワードリセットメールを送信するために使用されます。この関数は、ユーザーがパスワードを忘れた場合に、リセットリンクを含むメールを送信するためのリクエストを処理します。

構文

wp_ajax_send_password_reset();

例1: 基本的な使用法

この例では、AJAXリクエストを送信してパスワードリセットメールをトリガーします。

add_action('wp_ajax_nopriv_send_password_reset', 'wp_ajax_send_password_reset');

例2: カスタムフォームからのリクエスト

カスタムフォームからAJAXリクエストを送信する例です。

jQuery.ajax({url: ajaxurl, type: 'POST', data: {action: 'send_password_reset', user_login: 'user@example.com'}});

例3: エラーハンドリング

AJAXリクエストのエラーハンドリングを追加する例です。

jQuery.ajax({url: ajaxurl, type: 'POST', data: {action: 'send_password_reset', user_login: 'user@example.com'}, error: function(response){console.log('Error:', response);}});

例4: 成功時の処理

AJAXリクエストが成功した場合の処理を追加する例です。

jQuery.ajax({url: ajaxurl, type: 'POST', data: {action: 'send_password_reset', user_login: 'user@example.com'}, success: function(response){console.log('Success:', response);}});

例5: ユーザー入力の検証

ユーザー入力の検証を追加する例です。

if(empty($_POST['user_login'])){wp_send_json_error('ユーザー名またはメールアドレスを入力してください。');}

例6: メール送信後のリダイレクト

パスワードリセットメール送信後にリダイレクトする例です。

wp_redirect(home_url('/password-reset-sent/')); exit;

例7: カスタムメールテンプレートの使用

カスタムメールテンプレートを使用してパスワードリセットメールを送信する例です。

add_filter('retrieve_password_message', 'custom_password_reset_email', 10, 4); function custom_password_reset_email($message, $key, $user_login, $user_data){return 'カスタムメッセージ: ' . $message;}

注意点

  • wp_ajax_send_password_reset()は、AJAXリクエストを処理するためにwp_ajax_wp_ajax_nopriv_フックを使用します。
  • セキュリティを確保するため、ユーザー入力の検証とサニタイズを必ず行ってください。
  • この関数は、WordPressのデフォルトのパスワードリセット機能に依存しています。

関連機能: