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 щось змінилося, але зараз ця функція абсолютно марна, бо отримує зображення тільки якщо вони були завантажені саме для потрібного посту, а не просто додані через редактор.
До речі так. А є функція яка виводить всі вкладені зображення посту, які додаються до нього через редактор???