[サイト作り] [WordPress] 会員専用ページ作成 2

指定したカテゴリーを会員専用ページにする時の備忘録

前に書いた方法を応用しただけですが、気持ち単純に

“single.php”
振り分け用

“single-public.php”
一般公開用ページ
ログインしてなくtも閲覧できるカテゴリーに属する投稿用

“single-logged.php”
ユーザーページ
要ログインに指定したカテゴリーに属する投稿用

single.php サンプル
<?php
if(in_category(35))
{
include ( TEMPLATEPATH . "/single-logged.php" );
} else {
include ( TEMPLATEPATH . "/single-public.php" );
}
?>

カテゴリーID, 35に属する記事にアクセスがあったら、single-logged.phpを開き、それ以外なら single-public.phpを開く。

複数カテゴリーの場合は

<?php
if(in_category(35) || in_category(40))
{
include ( TEMPLATEPATH . "/cat-logged.php" );
} else {
include ( TEMPLATEPATH . "/single-public.php" );
}
?>

single-public.php サンプル
<?php get_header() ?>
<div id="content">

<?php if(have_posts()): ?><?php while(have_posts()):the_post(); ?>

<div class="post">
<h2><?php the_title(); ?></h2>
<div class="entry">
<?php the_content(); ?> </div>
</div>

<?php endwhile; ?>
<?php else: ?>

<div class="post">
<h2><?php _e('Not Found'); ?></h2>
</div>

<?php endif; ?>

</div>

<?php get_sidebar() ?>
<?php get_footer() ?>

single-public.phpの中は、従来のsingle.phpと、同じ内容で

single-logged.php サンプル
<?php get_header() ?>
<div id="content">

<?php if(is_user_logged_in()) {?>

<?php if(have_posts()): ?><?php while(have_posts()):the_post(); ?>

<div class="post">
<h2><?php the_title(); ?></h2>
<div class="entry">
<?php the_content(); ?>
</div>
</div>

<?php endwhile; ?>
<?php else: ?>

<div class="post">
<h2><?php _e('Not Found'); ?></h2>
</div>

<?php endif; ?>

<?php } else { ?>

<div class="post">
<h2>会員専用</h2>
<div class="entry">
このページは会員専用です。閲覧するにはユーザー登録が必要です。

会員の方はログインしてください。

ログインフォームなどのリンク
</div>
</div>

<?php } ?>

</div>

<?php get_sidebar() ?>
<?php get_footer() ?>

指定したカテゴリーにアクセスがあった場合、このページが表示され、ログインしていればコンテンツが表示され、ログインしてなけrばメッセージが表示される。

<?php if(is_user_logged_in()) ?>
コンテンツ
<?php } else { ?>
メッセージ
<?php } ?>

シングルページをケースに書きましたが、カテゴリーページの記事一覧から閲覧されないように、同様にファイルを作る必要があります。

category.php
振り分け用

category-public.php
一般公開用

category-logged.php
ユーザー用

こんな感じで

あとは、トップページやアーカイブなどの記事一覧から会員専用カテゴリーの記事を外して、フィードからも外す。

Did you like this? Share it:

PR

<

関連してるかも

  • 2009年9月7日 -- [WordPress] フロント、アーカイブ、カテゴリーページの表示投稿数変更
    トップページ、月間アーカイブ、カテゴリの投稿の表示数や、特定カtゴリの除外をquery postsで WordPressのデフォルトカテゴリー「未分類(catID=1)」を除外指定すると古い順での記事一覧がループ表示されるので、ここではデフォルトカテゴリーの「未分類」は除外できない。 以下の構成でテストしました index.php トップページ archive.php 月間アーカイブなどの...
  • 2009年9月6日 -- [WordPress] トップページに指定した投稿(ページ)だけを表示させる
    トップページに指定した投稿(ページ)だけを表示させる時の為の備忘録 ポストID10を表示させる場合 or ページスラッグが"info(仮)"のページを表示させる場合 or "ようこそ"とういタイトルのページ php if (have_posts()) の上にでも追加すればいいです。 ...
  • 2009年9月3日 -- [WprdPress] トップページなどで指定した数の投稿の下などにバナーを表示
    トップページやアーカイブの投稿一覧ページの、指定した投稿の数の投稿の下にコードを追加。 例 ・最初の投稿の下にだけ表示 ・上から5個までの記事の下にだけ表示 前の「指定した投稿の下にだけバナーを表示」とは違って、指定した数だけ表示するっぽいです。 アドセンスのように広告表示数に制限があるコードの表示に便利かもです。 ソース「WordPress Theme Hacks(英語)」 追加するコ...
  • 2010年10月22日 -- [WPプラグイン] Widgets on Pages – ページ内にウィジェット領域を追加する。WordPress Plugin
    ページやポストにウィジェット領域を追加するプラグイン 「Widgets on Pages」 通常だと、ウィジェット領域を記述したページテンプレートをテーマフォルダに追加して、ウィジェット領域を持ったページを作りますが このプラグインを導入すれば、ページの新規作成時にショートコードを入れるだけで済むので便利です。 1、プラグインをアップロード & 有効化 2、管理メニュー ...
  • 2010年7月17日 -- [WPプラグイン] HidePost – 投稿内に会員にだけ表示させるスペースを
    本文内のショートコードで囲んだ部分をログインユーザーにのみ表示させるプラグイン。 「HidePost」 前からあったプラグインだと思うので前のWPバージョンでもOKと思いますが、今回は WP 3.0 でテスト 1、プラグインを有効化 2、管理メニューの設定から"HidePost"を開く "Enable Hidepost (Uncheck if you want to di...
  • 2010年7月15日 -- [WPプラグイン] Sidebar Photoblog: Photoblog – サイドバーに特定カテゴリーのフォトを一覧表示
    サイドバーに指定したカテゴリー内のフォトをサムネイル表示するプラグイン 「Sidebar Photoblog: Photoblog」 フォトを多く含んだカテゴリーや、フォト日記のカテゴリーがある場合に、サイドバーにサムネイル表示させれれば見栄えもいいかもです。 ※、指定できるカテゴリーはひとつだけ 1、プラグインを有効化 2、管理メニュー「外観」からウィジェットを開き、"Si...
  • 2010年7月12日 -- [WPプラグイン] Simple Footnotes – 事項の作成に便利そうな WordPress Plugin
    Create simple, elegant footnotes on your site. Use the [ref] shortcode and the plugin takes care of the rest. Example usage: Lorem ipsum. [ref]My note.[/ref] 事項ページを作る時に便利そうなプラグイン 「Simple Foot...
  • 2010年7月2日 -- [WPプラグイン] Quick Post Widget – ウィジェットに投稿フォームを設置でき、ユーザー、ゲストが投稿できるようになる WordPress Plugin
    投稿フォームをウィジェットに追加するプラグイン。 「Quick Post Widget」 前に紹介した「TDO Mini Forms」に比べても、とてもシンプルです。 登録ユーザーのみ投稿できる、誰でも投稿できるの選択もでき、投稿をすぐに公開するか、承諾制にするといったサイトコンテンツに応じた設定が出来る。 投稿フォーム (標準) ・ポストタイトル ・本文 ・投稿カ...
  • 2010年7月1日 -- [WPプラグイン] WP-Fast-Sort-Tags – 投稿タグをページに一覧表示する WordPress Plugin
    ブログで使われてるタグをページに一覧表示するプラグイン。 「WP-Fast-Sort-Tags」 2010年7月1日現在 右上にあるメニューの"Tags"に表示サンプル 1、プラグインを有効化 2、設定→"WP Fast Sort Tags "を開く 3、ページ名を入力して、"Create Page"をクリックするとページが作成される。 あとは、ページリスト...
  • 2010年6月29日 -- [WordPress] カスタムポストを設置する
    投稿とは違った投稿を作成する。 作成したページテンプレートで公開したページ上に表示されますので、ブログに乗せるまでもない投稿(更新履歴)や、別テーマの投稿などを 参考 How to create a side blog with WordPress 3.0 テスト WP 3.0 1、functions.phpに次のコードを追加 2、次のコードで、ペー...