如何只使用wp-login.php页面进行注销?

时间:2014-01-12 作者:Hrishi

在我的网站上,我删除了wp登录。php禁用默认wordpress登录窗口中的登录。然后我安装了社交登录插件,用户可以使用该插件正确登录。但如果他们单击注销按钮,他们将进入404页面,因为注销URL只是传递给wp login的一个参数。php页面。因此,请建议我一个解决方案,我可以使用wp登录。php页面仅用于注销过程。登录和密码重置不应工作。

对不起,我的问题很长,但我有急事。提前谢谢。

1 个回复
SO网友:Dave Ross

WordPress有挂钩,所以您不需要实际删除wp登录。php。login_head 在为登录表单呈现任何HTML之前激发,并且wp_logout 销毁登录会话后激发。你可以把这段代码放在一个自定义插件或你主题的functions.php 文件以允许注销请求继续工作,但阻止其他所有操作。

// Allow logout actions but redirect to the home page for all other wp-login.php requests
add_action( \'login_head\', \'redirect_home_on_login_form\' );
function redirect_home_on_login_form() {
    if ( ! isset( $_REQUEST[\'action\'] ) || \'logout\' !== $_REQUEST[\'action\'] ) {
        wp_redirect( home_url( \'/\' ) );
        exit();
    }
}

// wp_logout fires after the user\'s login cookies have been removed
add_action( \'wp_logout\', \'redirect_home_on_logout\' );
function redirect_home_on_logout() {
    wp_redirect( home_url( \'/\' ) );
    exit();
}

结束

相关推荐

Wp_logout_url()是否会破坏会话?(注销问题)

我有一个荒谬的问题,把用户从我的网站上注销。基本上,客户有敏感数据wp_logout_url 我重定向到另一个url。这很好,但浏览器会缓存页面,可以通过按BACK查看。我有没有办法阻止这种情况发生,或者这不是一个无法解决的问题?该网站受前端登录表单的保护,因此/wp-admin.