Cum să obții numele fișierului atașamentului, nu URL-ul atașamentului

15 iun. 2011, 17:18:32
Vizualizări: 35.8K
Voturi: 16

Folosesc acest cod pentru a lista atașamentele de tip imagine ale unei postări:

      <select name="chb_homes_for_sale_specifics_floor_plan" style="width:100%;">
        <option value="">Selectează</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>

În prezent afișez post_title al atașamentului, dar vreau să afișez numele fișierului în schimb. Aș putea folosi get attachment URL și apoi să parsez URL-ul pentru a obține numele fișierului, dar mă întrebam dacă există o metodă predefinită în WordPress pentru a obține numele fișierului.

0
Toate răspunsurile la întrebare 1
2
33

Aș recomanda cu tărie să evitați utilizarea $post->guid - WordPress acum le generează sub forma;

http:/example.com/?attachment_id=ID

Utilizați aceeași metodă pe care o folosesc multe dintre funcțiile legate de atașamente;

$filename = basename ( get_attached_file( $data->ID ) );
15 iun. 2011 17:59:01
Comentarii

Și aici este linkul către discuție

kaiser kaiser
15 iun. 2011 18:07:00

linkul nu mai funcționează :(

simonthesorcerer simonthesorcerer
7 nov. 2014 19:22:44