it-swarm.com.de

So erhalten Sie den Namen der Anhangsdatei und nicht die Anhangs-URL

Ich benutze diesen Code, um die Bildanhänge eines Beitrags aufzulisten:

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

Aber was ich gerade zeige, ist der Anhang post_title, aber ich möchte stattdessen den Dateinamen anzeigen. Ich könnte vielleicht get attachment URL benutzen und dann die URL analysieren, um den Dateinamen zu erhalten, aber ich habe mich gefragt, ob es in WordPress eine fertige Methode gibt, um den Dateinamen zu erhalten.

9
Brady

Ich würde dringend davon abraten, $post->guid zu verwenden - WordPress generiert sie jetzt in der Form;

http: /example.com/? attachment_id = ID

Verwenden Sie dieselbe Methode, die viele anhangsbezogene Funktionen verwenden.

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