web-dev-qa-db-ja.com

WordPress 3.6のアイドルログアウト/ログインモーダルウィンドウ/セッションの有効期限を無効にする

私は最近、バージョン3.6に強制アップグレードされたWPEngineでホストされているWordPressサイトを管理しています。アップグレードは「期限切れのセッションに続くインラインログイン」を導入し、そこに問題があります。このWebサイトは、リゾートの登録、部屋の割り当て、およびその他の同様の機能を管理するために使用されます。これは、WordPressは一度に何時間も開いたままで、頻繁には使用されないことを意味します。 3.6より前のバージョンでは、問題はありませんでしたが、クライアントは新しいログインモーダルが「頻繁に」ポップアップすることに不満を訴えています(2〜3分ごと、または20分ごと。

手短に言えば、この新しいモーダルウィンドウを担当するセッションをどのように無効にしたり拡張したりしますか。

私はauth_cookie_expirationフィルタを使用しようとしました、しかしこれはページロードの間にログアウトされることに影響を与えるように思われるだけでインラインログインウィンドウに影響を与えません。

私が試したものの完全なコード:

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 );

これに類似した質問があるようです 既に投稿されていますが、応答がありませんでした...事前に提供できる洞察力に感謝します!

6
Bullfrog245

最終的には、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で設定されています。そこにある情報からサポートファイルの名前と場所を導き出すことができるはずです。

6
Bullfrog245