問題描述

我管理在 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。