WordPress 3.6 представил новую функцию get_attached_media(), которая существенно упрощает получение всех прикрепленных к записи медиа-файлов. В этом коротком уроке мы рассмотрим, как пользоваться новой функцией для получения медиафайлов записи WordPress.
Смотрите также:
Ранее, если вы хотели получить все прикрепленные к записи файлы, вам нужно было сделать что-то вроде этого:
$args = array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'posts_per_page' => -1, 'orderby' => 'menu_order', 'order' => 'ASC', ); $attachments = get_children( $args );
Это достаточно просто, но WordPress 3.6 делает все ещё проще, позволяя нам использовать функцию get_attached_media().
Чтобы получить все прикрепленные файлы, вне зависимости от их типа, необходимо использовать конструкцию:
$attachments = get_attached_media( '', $post->ID );
Чтобы получить все прикрепленные аудио-файлы:
$attachments = get_attached_media( 'audio', $post->ID );
Для того, чтобы получить все прикрепленные изображения:
$attachments = get_attached_media( 'image', $post->ID );
Ну и наконец, чтобы получить все прикрепленные видео-файлы:
$attachments = get_attached_media( 'video', $post->ID );
Комментарии к записи: 5
Чутка не понял как это сделать: какие файлы править. Подскажи, пожалуйста. Плюс это применимо для всех записей, страниц или можно при создании указать: показать список прикреплённых файлов или нет?
Этот код можно добавить к шаблону single.php, и тогда в каждой записи будет выводиться список файлов.
А как получить url файлов?
Если мы используем $attachments = get_attached_media( ‘image’, $post->ID );
по получаем , а ссылки на файлы не могу достать
Может со времен 3,6 что-то изменилось, но сейчас эта функция абсолютно бесполезна, ибо получает изображения только если они были ЗАГРУЖЕНЫ именно для нужного поста, а не просто добавлены через редактор.
Кстати, да. А есть функция которая выводит все вложенные изображения поста которые добавляются в него через редактор???