ユーザーの役割でコンテンツを保護する方法を探しています。
例:
投稿を閲覧するには登録が必要です(フロントエンド)。
ユーザーが購読者の場合、投稿1、2、3を読むことができますが、ユーザーが投稿者の場合、投稿1、2、3、4、5、6 ...を表示できます。
誰もが私がこれを行うことができる方法を知っていますか?
私は個人的にこれを使用していませんが、おそらくプラグインを見ているでしょう このように
あなたが上記で要求したすべての機能を提供するようです。
このような条件を使用して、役割contributor
を持つログインユーザーにのみプライベート投稿を表示できます。投稿を投稿者に公開するには、投稿を private
にするだけです。
<?php
if ( have_posts() ) : while ( have_posts() ) : the_post();
$private = get_post_custom_values("private");
if (isset($private[0]) && $private == "true") {
if ( current_user_can( 'contributor' ) ) { //passing role to it may sometime not work
the_title();
the_content();
} else { // text to show instead the post
echo 'this post is private, only contributor can view it';
}
} else { // this is visible to all
the_title();
the_content();
}
endwhile;
endif;
?>
投稿を非公開にしてログインユーザーだけに表示できるようにするには、まずカスタムフィールドを追加し、「非公開」と名前を付けて「True」に値を設定します。次に、デフォルトのWPループを次のコードスニペットに置き換えます。
<?php if (have_posts()) : while (have_posts()) : the_post();
$private = get_post_custom_values("private");
if (isset($private[0]) && $private == "true") {
if (is_user_logged_in()) {
// Display private post to logged user
}
} else {
// Display public post to everyone
}
endwhile; endif; ?>