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

10

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

Was ich derzeit anzeige, ist der Anhang, post_titleaber ich möchte stattdessen den Dateinamen anzeigen. Ich könnte vielleicht die URL zum Anhängen von Anhängen verwenden und dann die URL analysieren, um den Dateinamen zu erhalten, habe mich aber gefragt, ob es in WordPress eine fertige Möglichkeit gibt, den Dateinamen abzurufen.

Brady
quelle

Antworten:

23

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

http: /example.com/? attachment_id = ID

Verwenden Sie dieselbe Methode, die viele der anhangsbezogenen Funktionen verwenden.

$filename = basename ( get_attached_file( $data->ID ) );
TheDeadMedic
quelle
3
Und hier ist der Link zur Diskussion
Kaiser
1
Link ist tot :(
Simonthesorcerer