web-dev-qa-db-ja.com

添付ファイルURLではなく添付ファイル名を取得する方法

このコードを使用して投稿の画像添付ファイルを一覧表示します。

      <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を取得してからURLを解析してファイル名を取得することもできますが、WordPressにファイル名を取得するための既成の方法があるかどうかは疑問でした。

9
Brady

私は$post->guidを使わないことを強く勧めます - WordPressは現在それらをフォームで生成します。

http:/example.com/?attachment_id = ID

多くの添付ファイル関連関数が使用するのと同じ方法を使用してください。

$filename = basename ( get_attached_file( $data->ID ) );
21
TheDeadMedic