wp-adminでauthor自身の投稿やmedia以外は表示しない方法

複数ユーザーでWordPressへ投稿する場合、下位の権限の人に、自身の投稿やメディア以外を表示しないようにしたい。そのためのスニペット

function gloc_eyes_only( $wp_query ) {
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/upload.php' ) !== false
|| strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false
|| strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/admin-ajax.php' ) !== false  // ajax media uploader用
) {
if ( !current_user_can( 'level_5' ) ) {
global $current_user;
$wp_query->set( 'author', $current_user->id );
}
}
}
add_filter('parse_query', 'gloc_eyes_only' );

参考: https://illuminatikarate.com/blog/wordpress-only-show-authors-their-own-posts-and-media-in-the-admin-area/
これを参考にし、さらに投稿のajaxを使ったメディアアップローダにも対応させたのが上記のスニペット。

コメントを残す

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