Я создаю тему для клиента, и один из их запросов должен позволить пользователям загружать изображения для своего собственного использования, но может быть опция добавить изображения.
Вот некоторые протесты:
Во-первых действительно ли это возможно, и действительно ли возможно создать таксономию 'тега' для изображений?
Спасибо за помощь.
Библиотека мультимедиа имеет основные обновления со следующей версией. Вы видите изменения в слайдах Daryl Koopersmith здесь. Можно прочитать объявление, и обсуждение "Делают".
Ваш запрос на "теги/категории" уже встроен в 3,5.
Различие между темами и плагинами довольно легко: Дисплей по сравнению с Функциональностью. Таким образом, я предложил бы не встроить такую функциональность в тему, но сохранить разделенным как плагин. Ваше преимущество от выполнения этого: Вы/Ваши клиент не освободили бы эту функциональность на изменении темы или обновлении. Это просто делает Вашу жизнь намного легче. Вообразите, что Вы получили другой клиент, запрашивающий это. Затем Вы просто загрузили бы свой уже существующий плагин вместо того, чтобы разорвать это из Вашей темы и переместить его в следующую тему.
Как Кайзер упомянул в следующей версии WordPress, Библиотека мультимедиа использует UI ближе для интерфейса сообщений/страницы.
Так как библиотекой мультимедиа является в основном CPT, названный 'вложением', можно прокомментировать, иметь сообщение meta и присвоить taxonomies типу сообщения 'вложения'.
3.4.2 поддержки все это, но не покажут taxonomies UI для типов среды. 3.5 делает.
Таким образом, это отмечает сделанный.
Для показа всех администраторам и предоставлению отдельным пользователям их собственных библиотек мультимедиа? Необходимо будет фильтровать их на основе 'автора', с помощью фильтра pre_get_posts, который только работает в бэкенде, и если пользователь не имеет ролевого администратора или выше, и только если запрос ищет сообщения типа 'вложение'.
Это шоу Вопросов и ответов, как ограничить сообщения пользовательская роль, может видеть в панели инструментов. Это пропускало часть вложений, которая является этим:
add_filter( 'pre_get_posts', 'wpse_72278_current_author_media' );
add_filter( 'views_upload', 'wpse_72278_custom_view_count', 10, 1 );
function wpse_72278_current_author_media( $query )
{
global $pagenow, $user_ID;
if( 'upload.php' !== $pagenow )
return $query;
if ( $query->is_admin && current_user_can( 'editor' ) )
$query->set( 'author', $user_ID );
return $query;
}
function wpse_72278_custom_view_count( $views )
{
global $user_ID, $wpdb;
if ( !current_user_can('editor') )
return $views;
$total = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts
WHERE post_author = '$user_ID'
AND post_type = 'attachment' " );
$image = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts
WHERE post_author = '$user_ID'
AND post_mime_type LIKE 'image/%' " );
$video = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts
WHERE post_author = '$user_ID'
AND post_mime_type LIKE 'video/%' " );
$detached = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts
WHERE post_author = '$user_ID'
AND post_type = 'attachment' AND post_parent = '0' " );
$views['all'] = preg_replace( '/\(.+\)/U', '('.$total.')', $views['all'] );
$views['image'] = preg_replace( '/\(.+\)/U', '('.$image.')', $views['image'] );
$views['video'] = preg_replace( '/\(.+\)/U', '('.$video.')', $views['video'] );
$views['detached'] = preg_replace( '/\(.+\)/U', '('.$detached.')', $views['detached'] );
return $views;
}
Это другой заботится о выпуске сообщения, принадлежавшего одному автору и загрузке, сделанной другим.
И случай, в который Вы еще не вскакиваете 3.5, этот последний, обрабатывает Пользовательские Поля для Вложений.