Я хотел бы ограничить возможности авторов видеть файлы, загруженные другими пользователями, потому что это не вызывает никаких проблем, поскольку они могут изменять титры и т. Д.
Я попробовал этот код здесь. Как скрыть загрузку мультимедиа другими пользователями в меню «Медиа»?
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_pages') ) $wp_query_obj->set('author', $current_user->id ); return; }
Это работает только на экране мультимедиа, а не когда вы выбираете файл в сообщении для фактической загрузки.
Я также попробовал второе решение, но это вызывает проблемы с моей функцией автозаполнения, и я не могу понять, почему.
Есть ли способ остановить авторов, которые видят другие файлы, когда они делают сообщение?
Не проверено, но, может быть, вы можете просто расширить проверку $pagenow
?
Вместо …
if( 'upload.php' != $pagenow )
… пытаться …
if( ! in_array( $pagenow, array ( 'upload.php', 'post-new.php', 'post.php' ) ) )
Это также должно охватывать экраны редактора сообщений.