私は新しいユーザーに彼らの登録フォームを完成させる特定のwordpress登録ページを持っています。しかし、私のサイトのログインセクションにある「パスワードを忘れた」リンクをクリックしてから登録をクリックすると、通常の登録フォームを経由せずにサイトに登録できます。 wp-login.php?action = registerページをsample.com/registerにリダイレクトする方法を教えてください。
前もって感謝します!
login_form_register
にフックして、wp_redirect
であなたの登録ページに人々を投げてください。
<?php
add_action( 'login_form_register', 'wpse45134_catch_register' );
/**
* Redirects visitors to `wp-login.php?action=register` to
* `site.com/register`
*/
function wpse45134_catch_register()
{
wp_redirect( home_url( '/register' ) );
exit(); // always call `exit()` after `wp_redirect`
}
ログインページのuser_can_register
オプションを乗っ取ることで、そのページの「登録」リンクを隠すこともできます。 login_form_lostpassword
とlogin_form_retrievepassword
にフックし、そこからpre_option_users_can_register
にフィルタを追加します。
<?php
add_action( 'login_form_lostpassword', 'wpse45134_filter_option' );
add_action( 'login_form_retrievepassword', 'wpse45134_filter_option' );
/**
* Simple wrapper around a call to add_filter to make sure we only
* filter an option on the login page.
*/
function wpse45134_filter_option()
{
// use __return_zero because pre_option_{$opt} checks
// against `false`
add_filter( 'pre_option_users_can_register', '__return_zero' );
}
プラグインとして 。