Come ottenere il nome del file allegato non l'URL allegato


10

Sto usando questo codice per elencare gli allegati alle immagini di un post:

      <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>

Ma quello che sto mostrando attualmente è l'allegato post_titlema voglio invece mostrare il nome del file. Potrei forse usare get URL allegato quindi analizzare l'URL per ottenere il nome del file, ma mi chiedevo se in WordPress c'è un modo già pronto per ottenere il nome del file.

Risposte:


24

Sconsiglio vivamente di non usare $post->guid- WordPress ora li genera nel modulo;

http:? /example.com/ attachment_id = ID

Utilizzare lo stesso metodo utilizzato da molte delle funzioni relative agli allegati;

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

3
Ed ecco il link alla discussione
kaiser,

1
link is dead :(
simonthesorcerer
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.