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.

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

3
Und hier ist der Link zur Diskussion
Kaiser

1
Link ist tot :(
Simonthesorcerer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.