Как получить имя файла вложения, а не URL вложения

10

Я использую этот код, чтобы перечислить изображения вложения сообщения:

      <select name="chb_homes_for_sale_specifics_floor_plan" style="width:100%;">
        <option value="">Select</option>
        <?php
        $args = array(
            'numberposts'     => -1,
            'orderby'         => 'menu_order',
            'order'           => 'ASC',
            'post_type'       => 'attachment',
            'post_parent'     => $post->ID,
            'post_mime_type' => 'image'
        );
        $image = get_posts($args);
        if($image) {
            foreach($image as $key => $data) : ?>

                <option value="<?php echo $data->ID; ?>"><?php echo $data->post_title; ?></option>

            <?php endforeach;
        }
        ?>
      </select>

Но в настоящее время я показываю вложение, post_titleно вместо этого я хочу показать имя файла. Я мог бы использовать URL-адрес get attachment, а затем проанализировать URL-адрес, чтобы получить имя файла, но мне было интересно, есть ли в WordPress готовый способ получить имя файла.

Скотт
источник

Ответы:

24

Я настоятельно рекомендую не использовать $post->guid- WordPress теперь генерирует их в форме;

HTTP: /example.com/ attachment_id = ID

Используйте тот же метод, который используют многие функции, связанные с вложениями;

$filename = basename ( get_attached_file( $data->ID ) );
TheDeadMedic
источник
3
А вот и ссылка на обсуждение
kaiser
1
ссылка мертва :(
simonthesorcerer