Cómo obtener el nombre del archivo adjunto y no la URL del adjunto

15 jun 2011, 17:18:32
Vistas: 35.8K
Votos: 16

Estoy usando este código para listar las imágenes adjuntas de una entrada:

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

Pero lo que estoy mostrando actualmente es el post_title del adjunto, pero quiero mostrar el nombre del archivo en su lugar. Podría tal vez usar get attachment URL y luego analizar la URL para obtener el nombre del archivo, pero me preguntaba si hay alguna forma ya implementada en WordPress para obtener el nombre del archivo.

0
Todas las respuestas a la pregunta 1
2
33

Recomiendo encarecidamente no usar $post->guid - WordPress ahora los genera en la forma:

http:/ejemplo.com/?attachment_id=ID

Usa el mismo método que muchas de las funciones relacionadas con adjuntos utilizan:

$filename = basename ( get_attached_file( $data->ID ) );
15 jun 2011 17:59:01
Comentarios

Y aquí está el enlace a la discusión

kaiser kaiser
15 jun 2011 18:07:00

el enlace está roto :(

simonthesorcerer simonthesorcerer
7 nov 2014 19:22:44