他人がアップロードしたメディア(画像)を見せないよう制限する
WordPress標準では、アップロードされた画像などのメディアはメディア一覧や投稿画面の「メディアを挿入」でどのユーザーでも見ることができるようになっています。
これを他人がアップロードしたものは見せないように制限するには、functions.phpに下記のように記載します。
1 2 3 4 5 6 7 |
function display_only_self_uploaded_medias( $query ) { if ( $user = wp_get_current_user() ) { $query['author'] = $user->ID; } return $query; } add_action( 'ajax_query_attachments_args', 'display_only_self_uploaded_medias' ); |
結果
その他
上記のコードではすべてのユーザーが対象になりますが、例えば「管理者だけは他人のアップロードした画像も見れるようにしたい」という場合は上記のコードの代わりに下記のようにします。
1 2 3 4 5 6 7 |
function display_only_self_uploaded_medias( $query ) { if ( ( $user = wp_get_current_user() ) && ! current_user_can( 'administrator' ) ) { $query['author'] = $user->ID; } return $query; } add_action( 'ajax_query_attachments_args', 'display_only_self_uploaded_medias' ); |