如何获取附件文件名而不是附件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,然后解析URL以获取文件名,但想知道WordPress中是否有现成的方法来获取文件名。

Answers:


24

我强烈建议您不要使用$post->guid-WordPress现在以表格形式生成它们;

http:/example.com/?attachment_id = ID

使用许多与附件相关的功能所使用的相同方法;

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

3
这里是链接到的讨论
皇帝

1
链接已死:(
simonthesorcerer 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.