Redirect user after logout

时间:2013-01-02 作者:Christian Ostmo

我正在尝试为我的成员创建一个退订页面,但为了查看退订表单,他们必须注销,因此第一个链接是:

/wp-login.php?action=logout&_wpnonce=ba51bbcdc3. 
一旦他们注销,我需要将他们重定向到退订表单,但我不能只设置转发,因为这也是登录页面。

3 个回复
SO网友:shea

您可以使用wp_logout_url() 用于生成注销链接的模板标记。您可以将用户重定向到的URL指定为第一个pramiter:

wp_logout_url( \'http://example.com\' );
上述代码将生成一个类似以下内容的URL:/wp-login.php?action=logout&_wpnonce=ba51bbcdc3&redirect_to=http://example.com/unsubscribe. 您可以将其制作成如下链接:

<a href="<?php echo wp_logout_url( home_url( \'unsubscribe\' ) ); ?>" title="Logout">Logout & Unsubscribe</a>
如果要在页面或帖子中使用此选项,需要创建一个快捷码:

function wpse_77939_unsubscribe_link() {
    return sprintf(
        \'<a href="%s" title="Logout">Logout & Unsubscribe</a>\',
        wp_logout_url( home_url( \'unsubscribe\' ) )
    );
add_shortcode( \'unsubscribe-link\', \'wpse_77939_unsubscribe_link\' );
然后可以添加[unsubscribe-link] 指向要显示链接的帖子或页面。

如果要重定向到自己网站以外的其他网站,则需要将此代码添加到functions.php 文件(替换example.com 使用网站的域):

add_filter( \'allowed_redirect_hosts\',\'wpse_77938_allowed_redirect_hosts\' );
function wpse_77938_allowed_redirect_hosts( $allowed ) {
    $allowed[] = \'example.com\';
    return $allowed;
}

SO网友:Shiv Singh

如果在菜单管理器的菜单中使用此代码,请使用此代码

http://www.example.com/wp-login.php?action=logout&redirect_to=http://www.example.com/

SO网友:Naveen Chand K

WordPress包含一个模板标签,您可以使用该标签:wp_logout_url(). 如果您想在用户注销后将其重定向到另一个URL,只需几行简单的代码。

wrote a tutorial 去年年底关于如何使用此模板标记。总之,您需要在中创建过滤器functions.php 然后在中创建注销链接sidebar.php.

如果要重定向到自己网站以外的其他网站,则需要将此代码添加到functions.php 文件(替换example.com 使用网站的域):

add_filter( \'allowed_redirect_hosts\',\'wpse_77938_allowed_redirect_hosts\' );
function wpse_77938_allowed_redirect_hosts($link) {
    $link[] = \'example.com\';
    return $link;
}
然后需要将此行添加到sidebar.php 文件或任何可以执行PHP的位置:

<a href="<?php echo wp_logout_url( \'http://example.com\' ); ?>" title="Logout">Logout</a>

结束

相关推荐

login_redirect for Mobile Web

我的网站的移动版本位于mywebsite.com/mobile 还有一个登录表单wp-login.php. 目前,当用户从主页登录时,如果他们不是管理员,则会重定向到他们的Buddypress配置文件如果他们从主页登录,我希望保持此状态,但是,如果他们从mywebsite.com/mobile, 我希望他们被重定向到mywebsite.com/mobile/dash.//REDIRECT USERS TO ACTIVITY PAGE WHEN THEY LOGIN add_filter( \"lo