如何将lostpassword页面上的action=注册链接重定向到不同的链接?

时间:2012-03-10 作者:BentCircle

我有一个特定的wordpress注册页面,让新用户填写他们的注册表格。但是,如果有人单击我网站登录部分的“忘记密码”链接,然后单击注册,他们就可以注册该网站,而无需通过正常的注册表单。如何重定向wp登录。php?操作=将页面注册到示例。com/注册?

提前感谢!

1 个回复
最合适的回答,由SO网友:chrisguitarguy 整理而成

钩入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_lostpasswordlogin_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\' );
}
作为plugin.

结束

相关推荐

WP_REDIRECT在标题中不起作用,退出正在中断页面

很抱歉问这么一个基本的问题,我已经看了其他问题,没有找到答案。我已经定制了一些公共页面,它们有自己的标题public。我正在页面的开头(header.php中的第1行)对所有其他页面进行基本的登录检查。其目的是将未标记的用户重定向到接收页面,在那里他们可以获得帮助、登录等。只是a)它不会重定向,b)添加“退出;”按照建议,也会打断页面的其余部分。我尝试将其抽象为函数中的函数。php和它破坏了函数。php,所以现在Idunnowhatsgoingon。代码如下:if (is_user_logged_in()