WordPressがログアウトし続ける場合の解決策

WordPressの管理画面、特に投稿一覧あるいは投稿編集画面にて、短時間にちょくちょく(それこそ数分おきに)

セッションの有効期限が切れています。前回行った操作の時点からまた続けるにはログインしてください。

と表示されその度に再ログインする手間が発生し、プレビューを見ようとしても

下書きをプレビューする権限がありません。

と表示され、高確率でプレビュー確認できませんでした。

 

私は1つのサーバー内にある2つのサブドメインがこの現象になり、php.iniにてsession.save_pathを指定してありますが、session.save_pathのパスが同じディレクトリだったのを別々のディレクトリ※に変更しても解決できませんでした。
※例、元のsession.save_pathのディレクトリの中にパーミッション755でAとBの2つのディレクトリを作成

 

 

色々調べて対策した結果、解決できましたので、解決策をまとめました。
上から順にお試しください。

 

なお、私が解決できたのは【解決策その3】です。

WordPressのデフォルトのセッション有効期限

WordPressのセッションの有効期限、つまり再ログインを要求されるまでの期間は

  • 基本は2日間
  • WordPressログイン画面にある「ログイン状態を保持する」のチェックボックスをONにすると14日間

です。
※プラグインあるいはテーマのfunctions.phpにてセッションの有効期限を変更している場合はそれに準じます。

 

【解決策その1】ブラウザのキャッシュを削除する

ブラウザのキャッシュが原因でWordpressがログアウトし続ける場合もあります。
スーパーリロードでブラウザキャッシュを削除してみてください。

■スーパーリロードの方法■

Windowsなら

  • Ctrl + F5
  • Ctrl + Shift + R

Macなら

  • Command + R
  • Command + Shift + R

私の場合は【解決策その1】では解決できませんでした。

 

【解決策その2】該当サイトのブラウザのCookieを削除する

Cookieの有効期限が切れているのが原因でWordpressがログアウトし続ける場合もあります。
その場合は、ブラウザが保存している該当サイトのCookieを削除して解決できることもあります。

 

私の場合は【解決策その2】では解決できませんでした。

 

該当サイトのCookieだけを削除する手順

Chromeの場合

①URL欄に chrome://settings/content/all と入力してエンター。
Chromeに保存されているCookieの一覧が表示されます。

 

②一覧から該当サイトのドメインを探すか、右上の「検索」に該当サイトのドメイン名あるいはドメイン名の一部を入力して絞り込み検索します。
例、kaimonojyoz.jp、kaimonoとかの一部の文字
ChromeのCookie一覧

 

③ゴミ箱アイコンをクリック
ゴミ箱アイコンをクリック

 

④「削除」をクリック

「削除」をクリック

 

この手順で該当サイトのCookieのみを削除できます。
※該当サイトのキャッシュサイトデータも削除されます。

 

Firefoxの場合

①ツール → 設定 → プライバシーとセキュリティ → データを管理 をクリック

ツール → 設定 → プライバシーとセキュリティ → データを管理  

そうすると「Cookieとサイトデータを管理」のウィンドウがポップアップ表示され、Firefoxに保存されているCookieの一覧が表示されます。

 

②一覧から該当サイトのドメインを探すか、その上にある「ウェブサイトを検索」と書いてある入力欄に該当サイトのドメイン名あるいはドメイン名の一部を入力して絞り込み検索します。
例、kaimonojyoz.jp、kaimonoとかの一部の文字

 

③該当サイトのドメインをクリック

選択したサイトデータを削除

変更を保存
番号順に進めて、最後に「変更を保存」

 

④「削除」をクリック

「削除」をクリック

 

この手順で該当サイトのCookieのみを削除できます。
※該当サイトのキャッシュサイトデータも削除されます。

 

【解決策その3】wp-config.phpに WordPressアドレス(URL)およびサイトアドレス(URL) を記述する

WordPress管理画面の設定 → 一般にて、
 WordPress アドレス (URL)
 サイトアドレス (URL)
を記述してあると思いますが、それをwp-config.phpに記述します。

 

記述の仕方は <?php の次の行くらいに

define('WP_HOME','●WordPressアドレス(URL)●');
define('WP_SITEURL','●サイトアドレス(URL)●');
と記述します。 

私の場合は【解決策その3】で解決でき、その後は短時間に再ログインを要求されることはなくなりました。

 

ただし、私の場合は【解決策その3】の前に【解決策その5】を試して解決しなかったのですが、アドオン「Firefox Multi-Account Containers」が便利だったので有効にしたまま使い続けています。

■注意■

なお、wp-config.phpに

define('WP_HOME','●WordPressアドレス(URL)●');
define('WP_SITEURL','●サイトアドレス(URL)●');

を記述した場合は、Wordpress管理画面の設定 → 一般の該当箇所はグレーアウトとなりWordpress管理画面上での変更はできなくなります。

 

【解決策その4】タイムゾーンを都市名「東京」でなく、数値「UTC+9」を設定する

【解決策その3】をする前にググって色々調べた限りでは、Wordpressの設定 → 一般にて、
 タイムゾーン:東京
ではなく
 タイムゾーン:UTC+9
にすると解決できる、と書いてあるサイトもちらほらありました。

 

私の場合は【解決策その4】では解決できませんでした。

 

【解決策その5】(Firefoxなら)アドオン「Firefox Multi-Account Containers」を使う

私のように同じ1つのブラウザで複数のサブドメインWordpress
https://www.kaimonojyoz.jp
https://blog.kaimonojyoz.jp
にログインしていてこの問題が発生する場合は、Firefoxなら Firefox Multi-Account Containers を使うことで解決できる可能性があります。

 

例えばamazonアカウントが複数ある場合に、1つのFirefox内で別々のコンテナを使うことで、
 コンテナA:amazonアカウントその1
 コンテナB:amazonアカウントその2
を1つのFirefoxで開くことが可能となります。

※プライベートウィンドウではコンテナは別々になりません。

 

私の場合は【解決策その5】では解決しませんでしたが、「Firefox Multi-Account Containers」が便利だったのでそのまま使っています。

 

Chroemだと類似の拡張機能で

SessionBox

がありますが有料になったみたいです。

 

 

WordPressがログアウトし続ける場合の解決策は以上となります。
無事解決できることを願っています。

タイトルとURLをコピーしました