表題の通りなんですが、WordPressにて比較的簡単に会員サイトが構築できる!っていうプラグイン。Simple Membership Pluginを導入する案件があり、ログイン時はナビゲーションをログアウトにしたり、その逆なんかも設定。メールでのパスワードリセットあたりまではすんなり。ところが!!
プラグイン名が紛らわしい
まず、このプラグイン正式名称は「Simple Membership」らしい。で、つまずいたから検索で調べる際に、いろいろ出てくるSimple WordPress Membership、WP-Members、ちなみに後者は別物。
今回詰まったのは、会員がプロフィールを更新する歳の処理だった。ログイン状態でプロフィール編集ページへ遷移し、変更箇所を入力し更新ボタンをクリックした後、何故かログアウト状態になっているけれど、WPのログイン状態取得フラグはログイン状態という現象。恐らく、パスワード更新した際の対応としてあるのだろうけれど、今回の実装ではWPのログイン状態を見ていた為、ナビゲーションが「ログアウト」表示となっている為、ログイン画面へ到達が難しかった。会員専用ページへ遷移し、「ログインしてみてね」みたいなリンクからログイン画面へたどり着く方法のみとなっていた。
プロフィール更新時に無理やりログアウト処理
最終的な対応は、プロフィール更新時にWPからも強制ログアウト処理を行わせた。function.phpに下記を追記。
<?php //プロフール編集ページ更新後、WPログアウト処理 add_action( 'swpm_front_end_profile_edited', 'wp_logout' ); ?>
たったこれだけ。