Як отримати ім'я файлу вкладення, а не 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 ) );

3
І ось посилання на дискусію
кайзер

1
посилання мертве :(
simonthesorcerer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.