问题描述

我管理在 WPEngine 托管的 WordPress 网站,最近 force-upgraded 到 3.6 版本。升级引入 「In-line 登录后过期会话」,其中存在问题。该网站用于管理度假村的注册,房间分配和其他类似功能。这意味着 WordPress 通常在一段时间内保持打开状态,但未被主动使用。 3.6 之前一切都很好,但现在客户端正在抱怨新的登录模式弹出”often”(每 2-3 分钟或每 20 分钟,取决于谁被问) 。

我的问题简而言之:您如何禁用或扩展负责此新模态窗口的会话?

我已经尝试使用 auth_cookie_expiration 过滤器,但这似乎只是在页面加载之间注销,并且对 in-line 登录窗口没有影响。

我试过的完整代码:

function myplugin_cookie_expiration( $expiration, $user_id, $remember ) {
// If the "Remember Me" box is checked, keep the session for 14 days. Otherwise
// only keep the session for 2 hours
return $remember ? 1209600 : 7200;
}
add_filter( 'auth_cookie_expiration', 'myplugin_cookie_expiration', 99, 3 );

似乎已经发布了 question similar to this,但没有回复… 提前感谢您提供的任何见解!

最佳解决方案

它终于打到了我,javascript 将会落后于临时登录模式行为,这给了我一个新的方向在我的搜索。我已经禁用了新的登录弹出窗口,将以下内容添加到我的主题的 functions.php 文件中:

// Disable login modals introduced in WordPress 3.6
remove_action( 'admin_enqueue_scripts', 'wp_auth_check_load' );

如果任何人有兴趣了解有关新的登录模式的更多信息,它们将从 3929 行开始在 wp-includes/functions.php 中设置。您应该可以从那里找到的信息中导出支持文件的名称和位置。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。