マジカルスリー・だいすけのなりゆき長者ブログ

沖縄/大阪WEB広告・ホームページ制作・印刷物制作 マジカルスリー 「福」代表のブログ

*

WordPressで会員サイト的なものを作りたい

      2016/09/09

WordPressで会員サイト的なものを作る

と言う題目で幾つか記事があったんですが、勘所がいろいろ分かれてしまっていたのでまとめてみました。

具体的な流れ

WordPressのユーザー機能を使います。

1,WordPressユーザーだけ閲覧できるサイトを作り

2、なおかつ購読者権限の場合は管理画面を見せずに、サイトTOPページヘリダイレクトするようにします。

まず会員サイトをつくる

個別サイトでもマルチサイトでもどちらでも良いと思います。

会員だけが閲覧できる予定のサイトを作っておきます。

会員以外はログインページにリダイレクト

会員以外はログイン画面にリダイレクトさせてしまいます。

ログイン画面はWordPressのものを使うので

http://example.com/wp-login.phpなどにリダイレクトすると良いでしょう。

<?php if (!is_user_logged_in()) { auth_redirect(); } ?>

以上のコードをheader.phpの上部に入れておくとサイト全体にリダイレクトするコードが入ります。
一部のページのみ閲覧不可にしたい場合はそのページのみこのコードが入るようにすると良いでしょう。

一般会員さんがWordPressのログイン画面だとドン引きするので

できるだけドン引きしないようログイン画面をカスタマイズします。

ログイン画面で任意のメッセージを表示する(かちびと.net様)

ログイン画面カスタマイズに便利なプラグイン「Custom Login Page Customizer」 (NxWorld様)

WordPressのログイン画面をカスタマイズしてデザインを変更してみよう・・・ (creive様)

この辺が役に立つと思われます。

ログイン後、購読者ユーザーはリダイレクト

閲覧するだけの人が管理画面に入ってパニクらないようにサイトトップへリダイレクトしてあげます。

サイト閲覧モードでの画面上部の管理者バーも消してあげます。

function.phpに以下のコードを追加。

add_action( 'auth_redirect', 'subscriber_go_to_home' );
function subscriber_go_to_home( $user_id ) {
    $user = get_userdata( $user_id );
    if ( !$user->has_cap( 'edit_posts' ) ) {
        wp_redirect( get_home_url() );
        exit();
    }
}
add_action( 'after_setup_theme', 'subscriber_hide_admin_bar' );
function subscriber_hide_admin_bar() {
    $user = wp_get_current_user();
    if ( isset( $user->data ) && !$user->has_cap( 'edit_posts' ) ) {
        show_admin_bar( false );
    }
}

閲覧者(購読者ユーザー)もログアウトできるようにログアウトボタンをサイトに設置する

ログイン・ログアウトボタンを設置したい場所に以下のコードを入れます。

<?php if(is_user_logged_in()) : ?>
<a href="<?php echo wp_logout_url(); ?>">ログアウト</a>
<?php else : ?>
<a href="<?php echo wp_login_url(); ?>">ログイン</a>
<?php endif; ?>

基本、ログアウトするとリダイレクトされるはずなので、ログアウトボタンだけが表示されるはずですが、何かの拍子でおかしくなった時or別の使い方をする時のために・・・。

(๑´ڡ`๑)

以上、これで簡易的な会員サイトの働きができると思います。

 - WordPressの事

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

  関連記事

カスタム投稿を使うときのメモメモφ(..)

カスタム投稿タイプとは 通常の「投稿」「固定ページ」等とは違うタイプの投稿方法。 …

ワードプレスのサイト引越し時に500エラー

毎度おなじみのワードプレス備忘録です。 表題の通り、よくある(よくあってほしくな …

WordPressで記事を取得、ループしたいときに-その2

WordPressで記事を取得したいんだけど・・・ WordPressで記事を取 …

WordPress HTTPSでリダイレクト

毎度おなじみ自分用の忘備録でございます。 まず前提条件として、「WordPres …

get_postsの初期値が5件だった件

もう、表題のとおりなんですが忘備録。 WordPressのget_postsの初 …

アーカイブページでタームごとに記事一覧を出力する

カスタム投稿の記事一覧を出したい ターム名1(カスタム投稿の「カテゴリ名」のよう …

各固定ページのページデザインをテンプレート選択で可能にする方法

よく使うのに忘れてしまうのでまた忘備録がわりに・・・。 【ネタ元:はじめてのWo …

カスタムフィールドの画像をアイキャッチに自動登録

毎度おなじみ自分への忘備録です。   投稿時にカスタムフィールドの画像 …

ページ転送したい時に「Redirection」!

ワードプレスの記事で、「別ページに即座に飛んで欲しい」とか、「このページ見せたく …

WordPressでよく使う新着記事表示のコード

ほんとによく使うので覚え書き。 ちなみにマルチサイトをまたがって新着を取得する場 …