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

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

*

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

      2016/09/09

Pocket

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

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

  関連記事

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

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

Instant WordPress入れてみる

Instant WordPressという、ネット上のサーバーではなくローカルPC …

Gist、いいね!

コード見せたいンゴ・・・ WordPressのことでよくコードをお見せする機会が …

WordPress 不正アクセスとの飽くなき戦い

不正アクセス・・・それはWEB黎明期から行われてきた悪しき犯罪。 これらと日々戦 …

マルチサイト化でよくあること・・・参加サイトに表示されない!

WordPressでマルチサイト化すると、左上の「参加サイト」にマウスオーバーし …

海外テーマで文字化け回避したいの巻

テーマで文字化け! 海外製のWordpressテーマを使ったときに起こりやすいん …

Lightbox系プラグイン「Easy FancyBox」

特に意識すること無くLightbox(ふわっと写真を別ウィンドウで表示する)を使 …

WordPressで記事のカルーセルスライダー(jQuery的なスライドショー)

WordPressがそれなりにいじれると分かってから、嫁様の私への”こき使いっぷ …

WordPressのページを印刷しようとするとスタイルが崩れる

WordPressのページを印刷しようとするとガタ崩れする時があると思います。 …

嫁の人用:WordPressで記事を取得、ループしたいときに-その1

WordPressの制御部分の基本です。 主にメインループの事を描かせていただき …