使用链接注销(不带随机数)

时间:2016-10-26 作者:Abteilung Gerontopsychiatrie

这个问题来自一个绝对不懂编码的人,之前曾多次以各种形式提出过(例如。here).

要正确注销触发它的URL,需要一个nonce,例如:

http://xyz/wp-login.php?action=logout&redirect_to=http%3A%2F%2Fwww.spiegel.de&_wpnonce=d9d1a28ef2

我们可以得到法典中描述的nonce。但是:如果我必须使用URL来触发注销,该怎么办。更准确地说:我的CiviCRM插件有一些表单,人们可以填写这些表单,完成后让用户重定向到其他地方->例如,注销并转到另一个页面。我可以复制/粘贴redirct URL,格式如下

http://xyz/wp-login.php?action=logout&redirect_to=http%3A%2F%2Fwww.spiegel.de

-> 我怎样才能得到它应该去的地方——或者有其他选择吗???

干杯

1 个回复
SO网友:TheDeadMedic

This will disable nonce checking for logging out - 在你的头上:

add_action( \'login_form_logout\', function () {
    $user = wp_get_current_user();

    wp_logout();

    if ( ! empty( $_REQUEST[\'redirect_to\'] ) ) {
        $redirect_to = $requested_redirect_to = $_REQUEST[\'redirect_to\'];
    } else {
        $redirect_to = \'wp-login.php?loggedout=true\';
        $requested_redirect_to = \'\';
    }

    /**
     * Filters the log out redirect URL.
     *
     * @since 4.2.0
     *
     * @param string  $redirect_to           The redirect destination URL.
     * @param string  $requested_redirect_to The requested redirect destination URL passed as a parameter.
     * @param WP_User $user                  The WP_User object for the user that\'s logging out.
     */
    $redirect_to = apply_filters( \'logout_redirect\', $redirect_to, $requested_redirect_to, $user );
    wp_safe_redirect( $redirect_to );
    exit;
});

相关推荐

Update user meta on logout

我已经看到了一些答案,但这些问题已经有好多年的历史了,在尝试了他们的回答之后,我没能让它起作用。我需要在注销过程中更新用户元数据,特别是在用户空闲时间过长时发生的自动注销过程。我正在使用下面的代码,但用户元没有更新。add_action(\'clear_auth_cookie\', \'t_o_update\'); function t_o_update() { $user = wp_get_current_user(); update_user_meta($user-&g