メディアメニューの一覧画面での方法は、
http://liginc.co.jp/programmer/archives/4054
に記載の方法で実現可能。
しかし、投稿画面の「メディアを追加」で開かれる写真選択画面では、どうも上記のブログのfilterでは効かないらしく、他ユーザの画像も表示される。
admin-ajax.phpから動的に取得した一覧が表示されるのだが、おそらくシーケンスがメディアメニューのシーケンスとは少し違うのでしょう。上記のブログで利用しているfilterは効かないらしい。
調べてみると、admin-ajaxでの検索の場合は、"pre_get_posts"に設定するとできるようで。
add_action( "pre_get_posts", "set_ajax_media_query" );
function set_ajax_media_query( $wp_query ) {
global $current_user;
if( $wp_query ->query_vars['post_type'] != "attachment" ) {
return;
}
get_currentuserinfo();
if( $current_user->roles[0] == "administrator" ) {
return;
}
$wp_query->query_vars['author'] = $current_user->ID;
}
こんな感じで。$wp_queryは参照渡しなので、編集した内容はそのまま元の処理の中で使われる。
ただ、検索結果の数などには不整合が起きているので、その辺も含めて本当はなんとかしたいところ。