WP-Membersでログインに時差が出る、遅い、遅れるといった場合の対処法

  • 2021年5月26日
  • 2023年5月11日
  • wordpress

WP-MembersはWordpressでログイン機能を実装する簡単な方法です。
しかし今回、ちょっと手間取ったことがありましたので、残しておきます。

同じような問題を抱えている人の助けになれれば幸いです。

WP-Membersでログインに時差が出る、遅い、遅れるといった場合の対処法

きっかけは会員制サイトを作っているときに、ログイン状態に応じてヘッダーの表示を変えようとしたことでした。

ログイン前は「ログイン」ボタンを、ログイン後は「マイページ」ボタンを切り替えて表示しようとしたのですが、ログインをしても「ログイン」ボタンのままでした。

ただ、ずっとそうではなくて、1分程度まって再読み込みをすると、ちゃんと「マイページ」が表示されます。

時差があったり、遅れてログインが認証されている?

そう思い、色々調べてみたのですが、全く出てきません。
しかし、色々と試行錯誤をした結果解決しました。

結論から述べると、

キャッシュが悪さをしている

のが原因でした。

WP-Membersはwordpressのログイン機能を使用しています。
会員登録をするとwordpressのユーザーとして登録されるのが確認できます。

管理画面にてユーザーのページを見ると増えているのも確認できます。
(WP-Membersでの会員登録は、権限が「購読者」になるので、悪さはできません)

ですが、どうやら管理画面へのログインとWP-Membersのログインではキャッシュの扱いが異なるようです

つまり、WP-Membersでログインをすると、

ログインはしているけど、キャッシュがリセットされていないのでログイン前のページが表示されている

ということです。
そのため1分程度待つとキャッシュが自動でリセットされて、ログイン後のページが出てくるようですね。

wordpressでのキャッシュクリアは、プラグインを使用する必要があります。
おススメは以下のプラグインです。

WP Super Cache

こちらを使用することで、WP-Membersでログインしてもキャッシュをクリアしてくれるようになります。
特に設定は必要なく、導入するだけでOKです。

プラグインの新規追加欄で検索できるので、調べてみてください。

WP Fastest Cacheはダメな模様

同じようなプラグインとしてWP Fastest Cacheがあるのですが、こちらはダメでした。

ログインユーザーにはキャッシュを適用しない、といった設定があるのですが、このプラグインは管理画面にログインする場合のみのようです。

WP Super Cacheの方を使うようにしてください。