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