WordPress の WP-Members プラグインで、カテゴリー一覧やアーカイブ一覧に記事の内容が表示されて困る:暫定解決

目次

問題

WordPress の WP-Members プラグインは会員制サイトを制作するのに非常に便利なのですが、カテゴリー一覧やアーカイブ一覧を表示すると、記事の内容が表示されてしまいます。

会員のみに公開したい情報が漏れてしまうことになるので、これでは困ります。

原因

WP-Members はアクセス制限をパーマリンクの URL 単位で設定しています。
シングルページ(投稿や固定ページ)単位で制限がかかると言う事です。

カテゴリー一覧やアーカイブ一覧の URL はシングルページ扱いにならないため、制限されずに表示されてしまうのです。

前提知識

解決方法の前に、テーマと WP-Members について知っていただきたい事があります。

まず、標準の twentytwelve などのテーマのテンプレートでは、
カテゴリー一覧は category.php を、
アーカイブ一覧は archive.php を、ソースとして使っています。

この中で呼ばれている get_template_part() 関数が、get_post_format で取得された記事のフォーマットに整形して表示しています。

次に、WP-Members プラグインは記事を表示するかどうかを、postmeta データの値によって切り分けています。

WP-Members オプションの
デフォルトで記事をブロックする設定の場合、表示する記事の unblock の値に true が、
デフォルトで記事を表示する設定の場合、表示しない記事の block の値に true が設定されています。

解決方法

記事のブロックがデフォルトであれば、postmeta データ unblock の値が true の時のみ get_template_part() 関数を呼び出すようにしてあげれば良いと言う事になります。

実装時には、ユーザーのログイン状況も加味する必要がありますので、次の様なコードになるかと思います。

[code lang=’php’] if ( is_user_logged_in() ) {
get_template_part( ‘content’, get_post_format() );
} else {
if (get_post_meta($post->ID, ‘unblock’, true)) {
get_template_part( ‘content’, get_post_format() );
} else {
echo the_title(‘

‘, ‘

‘);
echo ‘

閲覧するにはログインが必要です

‘;
}
}
[/code]

まとめ

パーマリンクの URL 単位でアクセス制限をかけている理由が良くわからないのですが、テーマ側の編集が必要になるのは好ましくないので、フィルターフックなどが使えないかもう少し考えたいところですね。

とりあえず問題は暫定的に解決、と言う事で。

おまけ

上記はデフォルトでブロックする前提でコードを書いてしまいましたが、WP-Members のオプションは次のコードで取得する事ができますので、条件分岐を書く際の参考にしてください。

[code lang=’php’] $wpmembers_settings = get_option(‘wpmembers_settings’);
$xx1 = $wpmembers_settings[1]; //投稿記事をブロック のチェックの状態(false=0,true=1)
$xx2 = $wpmembers_settings[2]; //固定ページをブロック のチェックの状態(false=0,true=1)
[/code]

$wpmembers_settings[n] の値を見れば、デフォルトの状態がわかると言う事です。

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

WordPress の WP-Members プラグインで、カテゴリー一覧やアーカイブ一覧に記事の内容が表示されて困る:暫定解決” に対して1件のコメントがあります。

コメントを残す