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

沖縄/大阪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

  関連記事

.htaccessに最低限設定しておいたほうが良いこと

簡単で結構効果のあるセキュリティとして.htaccessの設定がありますが、最低 …

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

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

ショートコードの出力結果が固定ページや投稿の上部に表示される

またもやWordPress覚書。もはやメモ帳代わり。 固定ページなどの途中でPH …

WordPressで勝手に画像リサイズされる

いつもの防備録です。   本当に間抜けな話なんですが、これってほぼ間違 …

Sugar Events Calendar Lite 中国語化

以前のブログの再掲載です(なくなると困る記事なので・・・) Sugar Even …

GravatarでWordPressのアバターを作ろう

最近物忘れがヒドイ、だいすけです。 テーレッテレー!! ついこの前、ワードプレス …

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

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

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

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

WordPressの指定日時での部分表示

久しぶりにWordPressで少しハマったので忘備録です。 サイトの一部分だけ指 …

Lightbox系プラグイン「Easy FancyBox」

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