こんにちは私はfunctions.phpにこのコードがあり、エディターがメディアライブラリを表示しているときにうまく機能しています:http ://example.com/wp-admin/upload.php
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 ( 'upload.php' != $pagenow )
return;
if( !current_user_can('delete_users') )
$wp_query_obj->set('author', $current_user->ID );
return;
}
上記のコードは、他の編集者がメディアライブラリ内の他の編集者によってアップロードされた画像を表示できないようにします。アップロードされたすべての画像を表示できるのは管理者だけです。編集者は、自分でアップロードした画像のみを表示できます(他の画像は表示できません)。
ここで問題が発生します。投稿を作成または編集するときに、Wordpressには[メディアの追加]ボタンがあり、ユーザーはギャラリーに画像をアップロードできます。ただし、ユーザーが「メディアの追加」ポップアップを介してアップロードする場合、上記のコードは機能しません。他の編集者がアップロードした画像は引き続き表示されます。
ユーザーがメディアライブラリではなく[メディアの追加]ポップアップを介して画像を表示しているときにも機能するように、上記のコードを変更するにはどうすればよいですか?手伝ってくれてどうもありがとう。