<WordPress>管理者画面にログイン→数分で勝手にログアウト→管理者画面にログイン・・・以下無間地獄・・・を終わらせる方法(対症療法)

[PR]
目次

2024/11/05時点

こんな感じ。

// 自動ログアウトまでの期間を調整する。
function my_auth_cookie_expiration($length, $user_id, $remember) {
    // ユーザーIDからユーザー名を取得する。
    $user_login = get_userdata($user_id)->user_login;
    // 管理者のユーザー名なら。。。
    if ($user_login == 'kanrisha@example.net')
        // 管理者の場合は1か月とする。
        return MONTH_IN_SECONDS;
    else
        // その他の場合は1日。
        return DAY_IN_SECONDS;
}
add_filter('auth_cookie_expiration', 'my_auth_cookie_expiration', 10, 3);

ブラウザ側のキャッシュをクリア、サーバーのキャッシュをクリア、Cookieの削除、全プラグインの無効化、子テーマのfunctions.phpの無効化・・・すべてやっても効果なし。この現象が発生するようになった少し前にFirefoxのアップデートがあったのでこれのせいかとも思ったんだけどChromeでも現象発生。

仕方ないのでネットで見つけた自動ログアウトまでの期間を変更するコード(対症療法)を少し変えて子テーマのfunctions.phpに追加。

6行目の'kanrisha@example.net'をブログ管理者の「ユーザー名」に変更すればOK。「ユーザー名」は管理者画面のプロフィールにある「ユーザー名」の値。最後にいったんログアウトして再度ログインする。これをやんないと効果がないので要注意。

なお、8行目や11行目で指定する期間を表す定数は、以下のように1分間、1時間、丸1日、1週間、1か月間、1年間が定義されてる。

2024/11/12追記

なぜか症状が再発。

2日置き(対策前は数分置き)くらいで勝手にログアウトされてしまう。

ブラウザのデベロッパーツールで確認するとそれらしい名前のCookieが有効期限1か月先の日付で存在しているのだが・・・。

2024/11/19追記

症状が治まったみたい。

ログイン画面にある「ログイン状態を保存する」チェックボックスをオンにしてなかったから2日でログアウトしてしまっていたのかも。

以上

コメント

コメントする

コメントは日本語で入力してください(スパム対策)。

CAPTCHA

目次