Я хочу перечислить изображения только для загруженного пользователем изображения. Вот сценарий:
- Использование загрузчика изображений на внешнем интерфейсе с помощью iframe.
- Я добавил
upload_files
ограничение для пользователей уровня подписчика и хочу, чтобы они видели только загруженные ими изображения. Я обнаружил, что это Q Запрещает пользователям просматривать только те элементы медиатеки, которые они загрузили? но принятый ответ не работает для меня.
// Code originally by @t31os 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; }
Страница внешнего интерфейса, которую я использую для загрузки изображений, называется «Entry».
- Если я удаляю эту часть кода,
if( 'upload.php' != $pagenow ) return;
код работает. Я думаю, что я должен улучшить эту часть условного кода, но не смог понять это. Условие важно, потому что я не хочу, чтобы код применялся на других страницах, где это не требуется.
Итак, мне нужна помощь, чтобы улучшить условную часть, как я уже говорил. Спасибо!
function
оно не совпадало с содержимым fn.Ответы:
Это работает для меня, чтобы перечислить элементы, загруженные пользователем в медиа-библиотеке.
Это позволит всем пользователям с
manage_options
возможностью (обычно администратором) видеть все изображения, другие пользователи будут видеть только свои собственные изображения. Обратите внимание, что некоторые улучшения могут быть сделаны как$pagenow
иcurrent_user_can
. Не красота, но она делает работуисточник
wp_upload_dir()
результата.Форма загрузки медиа, которую я вытащил с помощью Thickbox, была
media-upload.php
. Итак, мне пришлось изменить условное наif( 'upload.php' != $pagenow && 'media-upload.php' != $pagenow)
. Я забыл заглянуть в очевидное место :)источник