ユーザがアップロードした画像のみを表示させるおぼえがき

仕事でどうしても必要だったので久しぶりに深堀り。
特定多数のユーザが記事を投稿するようなサイトを構築する場合、アップロードしたメディア、特に画像が他の人がアップロードしたものも見えてしまう。
もちろん、削除や変更はできないのだけど、ずらーっと画像が並んでしまうとミスにもつながるので、自分がアップロードした画像のみが見えるように変更したかった。
ただ、いくかの記事を参考にトライしてみたけど、うまくゆかず。

で、色々としらべたところ、解決している記事を発見!

Media library to list images only user uploaded

記事のとおり、不要なコードを除いたらうまくうごきました。

ま、めったに使うことはないのだけど、覚書として。

/* * メディアの抽出条件にログインユーザーの絞り込み条件を追加する*/
	add_action('pre_get_posts','users_own_attachments');

	function users_own_attachments( $wp_query_obj ) 
	{
		global $current_user, $pagenow;
		if( !is_a( $current_user, 'WP_User') )
		return;
		if( !current_user_can('delete_pages') )
		$wp_query_obj->set('author', $current_user->id );
	return;
	}

Leave a Reply

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