概要
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にリダイレクトします。