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('administrator') )
$wp_query_obj->set('author', $current_user->id );
return;
}
add_action('pre_get_posts','users_own_attachments');
Добавить в functions.php используемой темы.
А у меня работает и более того показывает файлы только авторам.
Сколько ж можно про синтаксис php писать?
Вставлять код надо после откр. тега <?php
и до закрывающего ?>
Отдельной строкой, не влезая в другие функции, фигурные скобки и прочее.
Лучше в конце файла, строкой перед ?>
Теперь надо править файл по ftp, в редакторе, например, akelpad, не забудьте сохранить файл в кодировке UTF-8 без метки BOM.
Учел «перед ?>» работоспособность сайта сохранилась, но отображение медиафайлов все равно доступно всем, имеющим вход в админ панель.
Кое-что изменилось. Сейчас при попытке посмотреть медиафайлы получаю вот это:
Веб-узел не может отобразить страницу
HTTP 500
Возможные причины:
•Веб-узел находится в состоянии обслуживания.
•Программа веб-узла содержит ошибку.
Попробуйте сделать следующее:
Обновите страницу.
Перейдите на предыдущую страницу.
Подробнее
Эта ошибка (HTTP 500 Internal Server Error) означает, что на веб-узле произошла внутренняя ошибка, которая не позволяет отобразить веб-страницу.
Дополнительные сведения об ошибках HTTP можно найти в справке.
При этом загружать файлы могу. Т.е. меню: «Добавить файл» работает, а «Библиотека» нет.
Не знаю, что и сказать. У меня (3.3.1) работает. Попробуйте вернуть исходный файл functions.php
начинаются странности, убрал этот код, а ситуация не изменилась
ситуация изменилась когда пользователю изменил права с автора на администратора. Сечас этот пользователь может иметь доступ к странице с медиа.
вернуд снова права автора и доступ к странице исчез. В «хроме» описание ошибки такое: Ошибка 139 (net::ERR_TEMPORARILY_THROTTLED): Запросы к серверу временно приостановлены.
Верните исходный файл functions.php (из дистрибутива), если Вы его до этого случая не редактировали. Возможно, Вы сделали какую-то ошибку при редактировании.
Работает и с редактором, и с автором. Здесь несколько вариантов решения.
нет, больше не пытался, все восстановил из бэкапа. Думаю, разработчикам имеет смысл уделить внимание данной функции и сделать ее штатной
Снова сделал попытку. Администратор, т.е. я делать может и просматривать библиотеку и файлы добавлять.
Другой пользователь может только добавлять файлы, а работать с медиа-библиотекой не может. Получаю вот это :
Веб-узел не может отобразить страницу
HTTP 500
Возможные причины:
•Веб-узел находится в состоянии обслуживания.
•Программа веб-узла содержит ошибку.
Попробуйте сделать следующее:
Обновите страницу.
Перейдите на предыдущую страницу.
Подробнее
Отключил все плагины. Пользователю стали доступны все файлы библиотеки, в т.ч. других пользователей.