在注册页面中获取自定义登录页面的URL

时间:2013-12-17 作者:Parth Kumar

我在获取单击注册链接所在页面的url时遇到问题。

场景:

登录页面的url为:

http://abcd.com/wp-login.php?redirect_to=http%3A%2F%2Fabcd.com%2Fxtreme%2F&page=1406

当我单击register link时,应该在register页面中添加redirect\\u to链接,如下所示:

http://abcd.com/wp-login.php?action=register&redirect_to=http%3A%2F%2Fabcd.com%2Fxtreme%2F&page=1406

我使用了以下代码,但它没有将redirect\\u带到参数:

add_action( \'registration_redirect\', \'redirection_link\' );
function redirection_link( $redirect_to ) {
  wp_redirect($GLOBALS[\'HTTP_SERVER_VARS\'][\'REQUEST_URI\']);
  exit; 
}   

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

你肯定在正确的轨道上;只需添加一个筛选器(而不是操作!)到您的functions.php 然后通过redirect_to 参数(无需wp_redirect). 用户提交注册表后,将立即重定向到新页面:

add_filter( \'registration_redirect\', \'redirection_link\' );
function redirection_link( $redirect_to ) {
    return $redirect_to . \'xtreme/page=1406\';
}
更新:要执行硬/永久重定向到另一个页面,可以使用wp_redirect 像这样:

add_filter( \'registration_redirect\', \'redirection_link\' );
function redirection_link( ) {
    wp_redirect( \'http://abcd.com/xtreme/page=1406\', 301 );
    // wp_redirect( home_url( \'/xtreme/page=1406\' ), 301 );
    exit;
}
更新2:您还可以传入其他参数(例如。redirect_to) 如果修改默认值register_url:

add_filter( \'register_url\', \'custom_register_url\' );
function custom_register_url( $register_url ) {
    $register_url = home_url( \'/wp-login.php/?action=register&redirect_to=http://abcd.com/xtreme/page=1406\' );
    return $register_url;
}
更新3:您可以更新/重置registration_redirect 到您的新register_url (来自更新2)如下所示:

add_filter( \'registration_redirect\', \'reset_redirection_link\' );
function reset_redirection_link() {
    return wp_registration_url();
}

结束

相关推荐

Validate Custom Login field

我在wordpress主登录页面中添加了一个额外的登录字段。必须选中该复选框(以接受条款和条件),否则用户无法登录。I have taken code from this question 这允许我在登录时添加一个自定义复选框。但是,试图修改给定的代码以验证是否选中了复选框,我无法开始工作。function check_checkbox($user) { $acceptance = $_POST[\'terms_acceptance\']; $user = get