Obține URL-ul atașamentului pentru imaginea de dimensiune medie

9 mar. 2012, 19:50:46
Vizualizări: 77.2K
Voturi: 16

Salut, folosesc un cod pentru a crea un slideshow cu funcționalitate lytebox - următorul cod este folosit în buclă pentru a extrage fiecare imagine atașată unei postări în secvență.

Se pare că extrage doar imaginea mare, chiar dacă am setat valoarea la medium - aveți idee cum pot face ca wp_get_attachment_url($attachment->ID, 'medium', false, false) să extragă imaginile de dimensiune medie?

mulțumesc

                                <?php
// Argumentele pentru extragerea miniaturilor
$argsThumb = array(
'order'          => 'DESC',
'post_type'      => 'attachment',
'post_parent'    => $post->ID,
'post_mime_type' => 'image',
'post_status'    => null
);
$attachments = get_posts($argsThumb);
if ($attachments) {
foreach ($attachments as $attachment) {
echo '<div class="images"><a class="lytebox" href="' .wp_get_attachment_url($attachment->ID, 'medium', false, false). '"><img src="'.wp_get_attachment_url($attachment->ID, 'medium', false, false).'" /><div class="caption">'.apply_filters('the_content', $attachment->post_content).'</div></a></div>';
}

}

0
Toate răspunsurile la întrebare 4
3
29

wp_get_attachment_url() va returna doar URL-ul către fișierul original al atașamentului, această funcție acceptă doar ID-ul atașamentului ca parametru.

Folosiți în schimb wp_get_attachment_image_src() sau wp_get_attachment_image().

9 mar. 2012 22:08:48
Comentarii

Niciuna dintre acestea nu pare să returneze URL-ul, nu-i așa?

JorgeLuisBorges JorgeLuisBorges
12 mar. 2012 18:55:51

wp_get_attachment_src() returnează un array și primul parametru este URL-ul imaginii. Consultați pagina Codex linkată pentru mai multe detalii.

Mamaduka Mamaduka
12 mar. 2012 19:01:47

Actualizare pentru cei care găsesc acest răspuns după atâția ani. Funcția pe care o căutați se numește wp_get_attachment_image_url().

Tot ce trebuie să faceți este să îi transmiteți ID-ul atașamentului și dimensiunea, iar aceasta va returna fie un șir de caractere cu URL-ul imaginii, fie false.

Tanner Mann Tanner Mann
17 oct. 2020 07:22:49
2
12

afișează următoarele: wp_get_attachment_image_src( $post->ID, 'medium')[0]; pentru a obține URL-ul atașamentului pentru imaginea de dimensiune medie.

19 aug. 2015 21:13:15
Comentarii

Dereferențierea funcției array este o funcționalitate introdusă în PHP 5.4+. Nu că ar trebui să fie o problemă. Doar ca să știți.

tfrommen tfrommen
19 aug. 2015 22:25:43

Actualizare pentru cei care ajung aici după atâția ani. Funcția pe care o căutați se numește wp_get_attachment_image_url().

Tot ce trebuie să faceți este să-i transmiteți ID-ul atașamentului și dimensiunea, iar ea va returna fie un șir cu URL-ul imaginii, fie false.

Tanner Mann Tanner Mann
24 oct. 2020 00:32:46
0

Actualizare pentru cei care descoperă acest lucru după atâția ani. Funcția pe care o căutați se numește wp_get_attachment_image_url(). Documentația aici.

Tot ce trebuie să faceți este să furnizați ID-ul atașamentului și dimensiunea, iar aceasta va returna fie un șir cu URL-ul imaginii, fie valoarea false.

17 oct. 2020 07:24:27
0

Nu înțeleg cum răspunsul de mai sus rezolvă problema. wp_get_attachment_image_src necesită ID-ul atașamentului, nu ID-ul postului. <?php echo esc_url((wp_get_attachment_image_src( get_post_thumbnail_id(get_the_id()), 'medium')[0])?>

3 apr. 2020 20:08:48