他の人の投稿を表示しない

先日のメディアで自分の画像だけ見るにつづいて、Buddypressネタです。
Buddypressで会員サイトを作って、会員に投稿してもらいたい場合、
投稿一覧に他のユーザーの投稿を表示させたくないっていうとき。
権限を寄稿者や編集者にすれば、他の人の投稿を編集することはできないんですが
表示もさせたくない!ってときはfunctions.phpにフィルターをかけます。

function show_owned_posts_only( $views ) {
  unset( $views['all'] );
  unset( $views['draft'] );
  unset( $views['publish'] );
  unset( $views['pending'] );
  unset( $views['trash'] );

return $views;
}
add_filter( 'views_edit-post', 'show_owned_posts_only' );

//投稿が0でも他者の投稿を見せない
function hide_other_posts( $wp_query ) {
 global $current_screen, $current_user;
 if ( $current_screen->id != "edit-post" ) {
 return;
}

$wp_query->query_vars['author'] = $current_user->ID;
}
add_action( 'pre_get_posts', 'hide_other_posts' );

カスタム投稿に適用させる場合は、edit-postのpostの部分を投稿タイプのスラッグに変えればよいみたい。
会員サイトは機能が多い分、色々気をつけなきゃいけないことがたくさんですね、、。

●参考サイト
寄稿者ユーザーに他者の投稿を表示させない方法

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


top