Membership」でログイン後にアクセス元URLにリダイレクトさせる方法ポストシェアはてブ送るPocketおはこんばんちは!あけおめことよろ!T.R.Imaginationの北野です。輸出ビジネススクールのツール担当ですが、オリジナルツールだけが守備範囲ではございません!スクールの中で使ってるシステム周りも守備範囲!久々にWordPressのコードに頭を痛めてやっと達成感味わったお話です。生徒限定で見られるようにWordPressで作っています。気になっていたことが2つ。・ログインしなくてもタイトルは見られる。・ログイン後にトップページに戻っちゃう。コンテンツ(ノウハウ)が書かれているのは本文なので、タイトルが見えるぐらいまぁ問題無いか。別の運営メンバーから「検索に引っかかってますよ」と指摘を受けて、こりゃイカンな。(検索に引っかからなくするのは別の問題ですが...)あと、ユーザビリティ良くない(使いにくい)のがログイン後にトップページに戻っちゃうってところ。生徒指導の中で「このページに書いてあるから読んでみて!」とコンテンツページのURLを貼ったりするんですが、そのURLにアクセスして、ログインしたらトップページに戻っちゃって、コンテンツページにアクセスするにはもう一度URLをクリックするなどしないといけないとても不便な状態でした。いつか直さなきゃ...と思いつつ半年以上この状態で運用しておりました。何かことを起こすのに丁度良い年末年始。Membershipの機能を拡張するプラグインをインストールして有効化ください。有効化だけしておけばOKです。プラグインの設定は変更しなくても良いです。5.3以上じゃないと動かない機能が含まれてますので、WordPressはVer.5.3以上にしておいてください。functionsにコード追加functions.phpに次のコードを記述します。}コード解説WordPressのheaderを読み込む時に、ログイン状態を確認します。この時のログイン状態のチェックに「is_user_logged_in()」を使っていて「なんでじゃー!!」と苦労しました。Membershipのログイン状態の確認には「SwpmMemberUtils::is_member_logged_in()」を使いましょう!ログインしていない場合は、ログインページにリダイレクトします。ログインページのスラッグを変更している場合は、それに合わせてコードを書き換えてください。アクセス元のURLをパラメータクエリに持たせます。Redirectionをインストールしました。実際に僕が組んだコードは上記から少しカスタマイズしています。こんな感じになってます。・「swpm」が含まれている場合といったように、特定のURLの場合にのみ、リダイレクトしないっていう設定を追加しています。リダイレクトしたくないページのURLが少なければ個別に除外設定をすれば良いと思います。「ログインしていなくても見られるページ」のパーマリンクに共通の文字列を入れる。その逆で「ログインしてないと見られないページ」のパーマリンクに共通の文字列を入れておく。Aeroを使ってみた)RECOMMENDこちらの記事も人気です。高校・大学で情報学を学ぶ。音楽や演劇などのエンタメ中心の生活のため職を転々とする中、越境せどりビジネスと出会う。ヤフショ輸入、アマゾン輸入、アマゾン輸出、イーベイ輸出を経験。現在は輸出入ビジネスに関わるシステム開発を行いつつ、輸出入ビジネスコミュニティの運営を共同で行っている。将来はエンタメスペース(音楽も演劇も放送も出来る着席型ライブバー)を経営したいと思っている。使用を承諾したものとみなされます。