WP-MembersはWordpressでログイン機能を実装する簡単な方法です。
しかし今回、ちょっと手間取ったことがありましたので、残しておきます。
同じような問題を抱えている人の助けになれれば幸いです。
WP-Membersでログインに時差が出る、遅い、遅れるといった場合の対処法
きっかけは会員制サイトを作っているときに、ログイン状態に応じてヘッダーの表示を変えようとしたことでした。
ログイン前は「ログイン」ボタンを、ログイン後は「マイページ」ボタンを切り替えて表示しようとしたのですが、ログインをしても「ログイン」ボタンのままでした。
ただ、ずっとそうではなくて、1分程度まって再読み込みをすると、ちゃんと「マイページ」が表示されます。
時差があったり、遅れてログインが認証されている?
そう思い、色々調べてみたのですが、全く出てきません。
しかし、色々と試行錯誤をした結果解決しました。
結論から述べると、
のが原因でした。
WP-Membersはwordpressのログイン機能を使用しています。
会員登録をするとwordpressのユーザーとして登録されるのが確認できます。
管理画面にてユーザーのページを見ると増えているのも確認できます。
(WP-Membersでの会員登録は、権限が「購読者」になるので、悪さはできません)
つまり、WP-Membersでログインをすると、
ログインはしているけど、キャッシュがリセットされていないのでログイン前のページが表示されている
ということです。
そのため1分程度待つとキャッシュが自動でリセットされて、ログイン後のページが出てくるようですね。
wordpressでのキャッシュクリアは、プラグインを使用する必要があります。
おススメは以下のプラグインです。
こちらを使用することで、WP-Membersでログインしてもキャッシュをクリアしてくれるようになります。
特に設定は必要なく、導入するだけでOKです。
プラグインの新規追加欄で検索できるので、調べてみてください。
同じようなプラグインとしてWP Fastest Cacheがあるのですが、こちらはダメでした。
ログインユーザーにはキャッシュを適用しない、といった設定があるのですが、このプラグインは管理画面にログインする場合のみのようです。
WP Super Cacheの方を使うようにしてください。