Wp_logout_url()-WordPress失败通知

时间:2014-07-08 作者:Durgesh

我的wp_logout_url() 从前端开始工作。

但是,当我从前端更改新密码时,在更改密码页面上,当我单击注销时wp_logout_url() 输出

您正在尝试注销(站点名称)

是否确实要注销?

下面是一个屏幕截图片段enter image description here

有什么建议吗?

2 个回复
SO网友:DrMagu

我有完全相同的问题,可以复制这种行为。只有在成功更改密码时才会发生这种情况。如果在更改密码后导航到另一个页面,一切都会恢复正常。但单击注销链接后会调用wp_logout_url() 我总是会犯这样的错误。

如果提供了错误的nonce,也会触发该错误。所以,这可能是一个线索。似乎这是某种WP核心bug。

在我的例子中,不太优雅的解决方法是在成功更改密码后,强制重定向到一个页面,该页面显示“您的密码已更改”。注销链接将再次正常运行。这是一种变通方法,不是bug的解决方案。

SO网友:Kirby

密码更改的代码是什么?

我有一个类似的问题,是百分之百重复。我的问题是,如果我从外部身份验证服务器检测到cookie,我会自动登录WP用户。

我的自动登录代码正在调用wp_set_auth_cookie(). 这使得WPlogged_in cookie转换到当前HTTP响应中,然后在下一个HTTP请求中可用,但在当前请求中不可用。因此nonce 为当前请求中的注销URL生成的URL不正确,因为它找不到会话的logged_in 应在Cookie中的令牌。

对我来说,我在Jörn Lund的回答中找到了解决方案:https://wordpress.stackexchange.com/a/184055/69247

我将该答案建议的代码添加到我的插件中,该插件正在进行自动登录,而注销失败页面消失了,因为现在正使用logged_in 曲奇

function my_update_cookie( $logged_in_cookie ){
    $_COOKIE[LOGGED_IN_COOKIE] = $logged_in_cookie;
}
add_action( \'set_logged_in_cookie\', \'my_update_cookie\' );

结束

相关推荐

重定向期间忽略自定义ADMIN_NOTICES消息

我在中设置了错误处理机制one of my plugins 向管理区域添加通知和错误,就像核心一样。它在大多数情况下都能正常工作,但在某些情况下(如保存自定义帖子类型)却不能正常工作。我猜重定向是在幕后发生的,消息是在重定向发生之前打印的,因此它们似乎永远不会出现。所以,我猜这就是发生的事情用户编辑自定义帖子类型并点击Publish(发布)调用My post\\u updated(我的帖子更新)回调,该回调验证并保存自定义字段。回调添加错误消息。Wordpress重定向到某个页面以进行某些处理。调用My