概要
wp_lostpassword_urlフィルタは、ユーザーがパスワードを忘れた際に使用されるリセットメールに含まれるパスワードリマインドURLをカスタマイズするために使用されます。このフィルタを利用することで、特定のニーズに合わせたURLの構造を設定することができ、例えば、カスタムドメインの指定や追加のクエリパラメータの追加などができます。このフィルタは以下のような機能を実装する際によく使われます:
- カスタムURLの設定
- ドメインの変更
- 特定のページへのリダイレクト
- トラッキング用のクエリパラメータ追加
- ウェブサイトの特定のセクションへのリンク
- ワードプレスマルチサイトにおけるURLの調整
- カスタムエラーメッセージに基づくリダイレクト
- セキュリティ対策としての動的URL生成
構文
apply_filters('wp_lostpassword_url', $lostpassword_url, $redirect);
パラメータ
$lostpassword_url: 既定のパスワードリマインドURL$redirect: パスワードリセット後のリダイレクトURL(オプション)
戻り値
フィルタを通じて返されるカスタマイズされたパスワードリマインドURL。
関連する関数
使用可能なバージョン
このフィルタは、WordPress 2.1.0以降で使用可能です。
コアファイルのパス
このフィルタは、wp-includes/user.phpファイルに含まれています。
この関数のアクションでの使用可能性
| アクション | 使用例 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |
サンプルコード
サンプルコード1:カスタムURLを設定する
add_filter('wp_lostpassword_url', function($lostpassword_url) {
return 'https://mycustomdomain.com/reset-password';
});
このコードは、パスワードリセット用のカスタムURLを指定します。この場合、https://mycustomdomain.com/reset-passwordに変更されます。
サンプルコード2:リダイレクト先のURLを設定する
add_filter('wp_lostpassword_url', function($lostpassword_url, $redirect) {
return $redirect ? $redirect : $lostpassword_url;
}, 10, 2);
このコードは、指定されたリダイレクトURLがある場合、それを優先して使用します。
サンプルコード3:トラッキング用パラメータを追加する
add_filter('wp_lostpassword_url', function($lostpassword_url) {
return add_query_arg('ref', 'newsletter', $lostpassword_url);
});
このコードは、URLにref=newsletterというクエリパラメータを追加します。
サンプルコード4:HTTPSに強制する
add_filter('wp_lostpassword_url', function($lostpassword_url) {
return str_replace('http://', 'https://', $lostpassword_url);
});
このコードは、全てのHTTPリクエストをHTTPSに変換します。
サンプルコード5:エラーメッセージとカスタムURLを連携させる
add_filter('wp_lostpassword_url', function($lostpassword_url) {
if (isset($_GET['error'])) {
return 'https://mycustomdomain.com/reset-password?error=true';
}
return $lostpassword_url;
});
このコードは、エラーが発生している場合は異なるURLにリダイレクトします。