Comment obtenir le nom du fichier joint et non l'URL de la pièce jointe

10

J'utilise ce code pour répertorier les pièces jointes d'une publication:

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

Mais ce que je montre actuellement, c'est la pièce jointe, post_titlemais je veux plutôt montrer le nom du fichier. Je pourrais peut-être utiliser l'URL de la pièce jointe puis analyser l'URL pour obtenir le nom du fichier, mais je me demandais s'il y avait un moyen prêt à l'emploi dans WordPress pour obtenir le nom du fichier.

Scott
la source

Réponses:

24

Je déconseille fortement l'utilisation $post->guid- WordPress les génère désormais sous la forme;

http: /example.com/? attachment_id = ID

Utilisez la même méthode que la plupart des fonctions liées aux pièces jointes;

$filename = basename ( get_attached_file( $data->ID ) );
TheDeadMedic
la source
3
Et voici le lien vers la discussion
kaiser
1
lien est mort :(
simonthesorcerer