Visualizzare allegati tutti Inserisci e assegnare classe all'ultima immagine?
-
16-10-2019 - |
Domanda
Ho un get_images()
funzione in cui vorrei visualizzare tutti gli allegati di immagine per il post corrente (o pagina) in una lista con l'ultima immagine che ha un attributo class="last"
per contrassegnare come l'ultima immagine nella lista.
Il codice qui sotto è il mio primo passaggio ad ottenere le immagini allegate a schermo, tuttavia, la sua sola immagine messa fuori dal ciclo foreach quindi il mio è pasticciato ...
function get_images() {
global $post;
$attachment = array_values(get_children(array(
'post_parent' => $post->ID,
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'numberposts' => 1
)));
if ( $attachment ) {
foreach($attachment as $attachmentImage) {
echo '<img src="' . wp_get_attachment_url($attachmentImage->ID) .
'" class="post-attachment" />';
}
}
}
Soluzione
Questo dovrebbe farlo, penso:
function get_images() {
global $post;
$attachment = get_children(array(
'post_parent' => $post->ID,
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'numberposts' => -1 ),
ARRAY_N );
if ( $attachment ) {
$attachment_count = count($attachment);
foreach($i=0; $i < $attachment_count; $i++) {
$last = ($i == ($attachment_count-1) ) ? ' last' : '';
echo '<img src="' . wp_get_attachment_url($attachment[$i]->ID) .
'" class="post-attachment'.$last.'" />';
}
}
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange