問題描述

我正在使用此程式碼列出一個帖子的影像附件:

      <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 中獲取檔名。

最佳解決方法

我強烈建議不要使用 $post->guid – WordPress 現在生成它們的形式;

http:/example.com/?attachment_id=ID

使用與許多 attachment-related 功能相同的方法;

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

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。