サイトアイコン ドットワン合同会社

WP-membersで記事一覧ページを会員にしか見せないようにする

こんにちは、木村太一です。

会員制サイトを作るのに便利な「WP-Members Membership Plugin」ですが、デフォルトのままですと記事一覧ページ、アーカイブページは会員でない(ログインしていない)ユーザーでも閲覧できてしまいます。

タイトルを見せて会員になることを促すようなサイトであれば良いのですが、タイトルすら見せたくない場合は困ってしまいますね。

簡単な方法で対応できますので、参考にしてみてください。

前提条件

今回の説明は会員向けの情報をWordpressのカスタム投稿タイプで投稿する仕様を前提としております。

WP-membersで記事一覧ページを見せないようにするコード

//WP-members使用時にてカスタム投稿タイプの一覧ページもログイン画面を出す
function un_logged_in_user_redirect() {
    if( ! is_user_logged_in()  && is_archive('カスタム投稿タイプのスラッグ') ) {
        wp_redirect( '/login' );// ログインページのURL
        exit();
    }
}
add_action( 'template_redirect','un_logged_in_user_redirect');

上記コードをfunction.phpに追記してください。

WP-membersで記事一覧ページを見せないようにするコードの説明

ユーザーがログインしていない時【if( ! is_user_logged_in()】にカスタム投稿タイプのアーカイブページにアクセスしたら、ログインページにリダイレクトする。

ということを書いています。

記事ページへ直接アクセスした場合はWP-membersの判定が働くので特に指定してません。
試して無いけど、カスタム投稿タイプのアーカイブを「false」にしたら動かないかも..?

ちなみに、通常のログインフォームと出し分けないなら、固定ページを作ってショートコードを貼ればいいでしょう。

ログインのショートコードは、

[wpmem_form login]

です。

では、楽しいWordpress Lifeを!

モバイルバージョンを終了