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