質問: カスタムテンプレートにアクセス許可を尊重させるにはどうすればよいですか。 私は自分のサイトの権限を管理するためにmembersプラグインを使います。標準的なテンプレートの場合、それはとてもうまくいきます - ユーザがページを見る許可を持っていないとき、彼らは以下のメッセージを受け取ります: 申し訳ありませんが、このコンテンツを閲覧する権限がありません。 カスタムテンプレートでこのメッセージがまだ表示されるようにするにはどうすればよいですか。どのタグを含める必要がありますか?編集。テンプレートのソース:<?php /* template name: stats */ ?> <?php get_header(); ?> <div id="main"> <div id="contentwrapper"> <div class="toppost"> <h2 class="toptitle"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> <div class="topcontent"> <p>listeners are counted every minute. the green line is the <b>maximum</b> during any given time period. the red area is the <b>average</b> number of listeners during the same time period.</p> <h3>listeners over the last hour</h3> <img class="alignnone" title="listeners over the last hour" src="<?php echo get_graph(60,60); ?>" alt="" width="481" height="149" /> <hr/> <h3>listeners over the last day</h3> <img class="alignnone" title="listeners over the last day" src="<?php echo get_graph(3600,24); ?>" alt="" width="481" height="149" /> <hr/> <h3>listeners over the last week</h3> <img class="alignnone" title="listeners over the last week" src="<?php echo get_graph(86400,7); ?>" alt="" width="481" height="149" /> </div> <div class="cleared"></div> <div class="cleared"></div> </div> <!-- closes toppost --> </div> <!-- closes contentwrapper--> <?php get_sidebar(); ?> <div class="cleared"></div> </div><!-- closes main --> <?php get_footer(); ?> 注:このテンプレートの目的は、シェルスクリプトのフロントエンドとして機能することです。データベース上のコンテンツは無関係なので、ループはありません。 (ただし、ダミーループを含めることは役に立ちませんでした。)
回答: あなたが引用したメッセージはmembers_content_permissions_protect()関数によって生成されています。デフォルトではthe_content()とthe_excerpt()関数のフィルタとして使われます。あなたのカスタムテンプレートはこれらを使用しないので - functionが実行されるケースはありません。テンプレートでこのようなことを試してください。$content = 'content to protect'; echo members_content_permissions_protect( $content ); もう一つのアイデア:$protected = members_content_permissions_protect( false ); if( false !== $protected ) { echo $protected; } else { //template stuff goes here }