読者です 読者をやめる 読者になる 読者になる

WP-Membersのログインとログアウトをリダイレクトする

Wordpressで会員制サイトを作るときによく使われるプラグイン、WP-Members。
自分も最近Wordpressをいじるようになり、ログイン、ログアウトの処理で詰まることがあったので、備忘録として書いておく。

WP-Membersで困りがちなこと

WP-Membersで困りがちなのが、ログイン・ログアウト後にリダイレクトする機能が標準では備わっていないということである。
「WP-Members リダイレクト」でググると昔から多くの人が悩んでいたようだ。

ところが英語で検索したところ、瞬時に解決してしまったので記載する。

ただしWordpress初心者の書いた記事なので、参考にする際はテストをお願いしたい。

既存の静的サイトをそのままテンプレートにしただけという適当な作り方のサイトでも問題なく動いていたので、なんとかなるとは思う。

環境

今回の環境は

WordPress 4.5.1
・WP-Membersは3.1.0.2

Advanced Custom Fieldsも併用している。

ログインをリダイレクト

functions.phpに以下を記述する。

add_filter( 'wpmem_login_redirect', 'my_login_redirect', 10, 2 );
function my_login_redirect( $redirect_to, $user_id ) {
    return 'ここにリダイレクト先を入れる';
}

以下のページを参考にした
http://rocketgeek.com/plugins/wp-members/users-guide/filter-hooks/wpmem_login_redirect/

ログアウトをリダイレクト

functions.phpに以下を記述する。

add_filter( 'wpmem_logout_redirect', 'my_logout_redirect' );
function my_logout_redirect(){
	return 'ここにリダイレクト先を入れる';
}

以下のページを参考にした。
http://rocketgeek.com/tips-and-tricks/redirecting-wordpress-login-and-logout-urls/

ついでに

Advanced Custom Fieldsの内容を非ログイン時に非表示にすることがいまひとつわからなかったので、カスタム投稿タイプについては専用のphpファイルを作ってログイン/非ログインを直書きした。
力技かも知れないがほかにどうすればいいのかよくわからない。