我有一个wordpress网站(v5.x),上面有一个成员受限的部分。我的网站使用Elementor Pro和其他一些插件(例如Powerpack)作为登录页面。
我的问题是我的标头中有一个注销按钮,自几天以来一直不起作用,并且行为异常。当我在连接时单击它时,会出现以下行为:
我这样设置注销: 在菜单中,我创建了一个带有自定义链接/ logout的注销按钮,如下所示:logout button
然后在我的functions.php中添加:
/* Redirect to homepage when logout (escape the confirmation page)*/
add_action( 'init', function() {
error_log("0");
error_log("Request URL : ".$_SERVER['REQUEST_URI']);
if ( 0 === stripos( $_SERVER['REQUEST_URI'], "/logout" ) ) {
error_log("1");
/*
I also tried with this instead of wp_logout():
wp_destroy_current_session();
wp_clear_auth_cookie();
wp_set_current_user( 0 );
*/
wp_logout();
error_log("2");
wp_redirect( home_url(), 301 );
error_log("3");
exit;
}
},1);
点击注销按钮时,在error_log文件中得到的内容的示例和示例:
[Fri Oct 09 11:42:43.882230 2020] [php7:notice] [pid 26377] [client 127.0.0.1:63793] 0, referer: http://dev.mysite.com/
[Fri Oct 09 11:42:43.882559 2020] [php7:notice] [pid 26377] [client 127.0.0.1:63793] Request URL : /, referer: http://dev.mysite.com/
我也尝试过删除所有插件,但是仍然具有相同的行为。似乎$ _SERVER ['REQUEST_URI']返回随机值,并且始终为“ /”。
我还尝试通过其他方式(/wp-login.php?action=logout和/ test)更改按钮的url,并根据url更新了该功能,在出现相同问题之前,它已经工作了2-3次。
有人也有这个问题或想法吗?