У процесі створення системи контролю замовлень із застосуванням Спеціальні мета-бокси Для збору та зберігання даних про кожне з розміщених замовлень, я зіткнувся з необхідністю завантажувати документи (інвойси та інше) для кожного замовлення, а потім відображати їх у рамках розміщеного замовлення для авторизованих користувачів.
Щоб вирішити це завдання, було створено тип посту, що настроюється з використанням функції wp_get_attachment_link у поєднанні із запитом get_posts щоб отримати всі прикріплені файли до кожного посту та відображати ці файли як список з посиланнями на кожен окремо взятий документ.
У циклі мною був використаний наступний код:
<?php // get post attachments $post_attachments = get_posts( array ( 'post_type' => 'attachment', 'post_parent' => $post->ID )); ?> <ul> <?php foreach ( $post_attachments as $post_attachment ) { echo '<li>' . wp_get_attachment_link( $post_attachment->ID, '', false, false ) . '</li>'; } ?> </ul>
Перша половина коду виконує запит. get_posts для пошуку всіх вкладень у пості, який ми зараз переглядаємо (вкладення - це окремий тип розміщених матеріалів, і у них є батьківський пост, з яким вони пов'язані).
Друга половина коду бере цей масив і для кожного виконує функцію wp_get_attachment_link, щоб отримати посилання на вкладені файли за допомогою заголовків для файлів, доданих до тексту.
У результаті у вас вийде список усіх вкладених у пост матеріалів (щоправда неупорядкований), на кшталт того, що на даному зображенні:
Ви також можете змінити значення аргументів для wp_get_attachment_link, щоб отримати масив іншого роду, як відображення іконок для кожного окремого типу файлів.
Сподіваюся, цей маленький трюк вам знадобиться.
Коментарі до запису: 0