Obtenir le chemin de la vignette plutôt que la balise d'image
-
-
Vosimagesfont-ellespartie d'unegalerie d'articles ou sont-elles simplementincluses dans lamédiathèque?Are your images part of a post gallery or just included in the media library?
- 0
- 2010-12-01
- PNMG
-
Tous sont attachés à desmessages - ce sont des vignettes auxmessages.All are attached to posts - they are thumbnails to posts.
- 0
- 2010-12-01
- Sampson
-
4 réponses
- votes
-
- 2010-12-01
Laminiatureestessentiellement unepiècejointe,vouspouvez donc vous approcher de ce côté - ID de recherche avec
get_post_thumbnail_id()
et récupérez les données avecwp_get_attachment_image_src()
,comme ceci:if (has_post_thumbnail()) { $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'thumbnail_name'); echo $thumb[0]; // thumbnail url }
( source )
Thumbnail is essentially attachment so you can approach from that side - lookup ID with
get_post_thumbnail_id()
and fetch data withwp_get_attachment_image_src()
, like this:if (has_post_thumbnail()) { $thumb = wp_get_attachment_image_src(get_post_thumbnail_id(), 'thumbnail_name'); echo $thumb[0]; // thumbnail url }
(source)
-
- 2016-12-21
get_the_post_thumbnail_url($recent['ID']);
Ce quiprécède afait l'affairepourmoi!J'ai dû deviner lafonctionet cela afonctionné commeparmagie!
Ilestbon dementionner quej'ai utilisé laboucle
get_recent_posts
dans leprocessus.get_the_post_thumbnail_url($recent['ID']);
The above did the trick for me! I had to guess the function and it magically worked!
Its is good to mention that I used
get_recent_posts
loop in the process. -
- 2010-12-01
Uneméthode serait de convertirtout ce quiest renvoyépar
get_the_post_thumbnail()
en un objet,et d'extraire l'attributsrc
:$thumbnail = new SimpleXMLElement( get_the_post_thumbnail( $postid ) ); print $thumbnail->attributes()->src;
One method would be to convert whatever is returned from
get_the_post_thumbnail()
to an object, and pull thesrc
attribute:$thumbnail = new SimpleXMLElement( get_the_post_thumbnail( $postid ) ); print $thumbnail->attributes()->src;
-
- 2010-12-01
Lorsquej'aibesoin d'afficher une vignette attachée à unegalerie d'articles,j'utilise unefonctionpersonnalisée dansmonfunctions.php. C'estpeut-être over killpour vosbesoins,mais cela devraittout couvrir.
Dans cetexemple,je récupèretoutes lesimages de lagalerie d'un article,puisj'affiche chaqueimage dans un élément de liste. La liste contient l'imageminiatureenveloppée dans une ancre qui renvoie aumessage d'oùprovient l'image. La chaîne de sortiepeutfacilement êtrepersonnalisée selon vosbesoins.
function get_gallery_image_thumb_list($size){ global $post; $args = array( 'numberposts' => null, 'post_parent' => $post->ID, 'post_type' => 'attachment', 'nopaging' => false, 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID', 'post_status' => 'any' ); $attachments =& get_children($args); if ($attachments) { foreach($attachments as $attachment) { foreach($attachment as $attachment_key => $attachment_value) { $imageID = $attachment->ID; $imageTitle = $attachment->post_title; $imageCaption = $attachment->post_excerpt; $imageDescription = $attachment->post_content; $imageAlt = get_post_meta($imageID, '_wp_attachment_image_alt', true); $imageArray = wp_get_attachment_image_src($attachment_value, $size, false); $imageURI = $imageArray[0]; // 0 is the URI $imageWidth = $imageArray[1]; // 1 is the width $imageHeight = $imageArray[2]; // 2 is the height // Build the <img> string $ImgString = '<li><a href="' . get_permalink() . '" title="' . the_title("", "", false) . '"><img src="' . $imageURI . '" width="' . $imageWidth . '" height="' . $imageHeight . '" alt="' . $imageAlt . '" title="' . $imageTitle . '" /></a></li>'; // Print the image echo $ImgString; break; } } } unset($args);}
Appelezensuite lafonctionet transmettez lataille de l'image que vous souhaitez renvoyer (miniature,moyenne,grande oupleine) comme ceci:
get_gallery_image_thumb_list("thumbnail");
Cela devra être appelé dans The Loop ou dans unebouclepersonnalisée.
When I need to display a thumbnail that is attached to a post gallery, I use a custom function in my functions.php. It might be over kill for your needs, but it should cover everything.
In this example, I retrieve all the images in a post's gallery, and then display each image in a list item. The list contains the thumbnail image wrapped in an anchor that links to the post the image came from. The output string can easily be customized to your needs.
function get_gallery_image_thumb_list($size){ global $post; $args = array( 'numberposts' => null, 'post_parent' => $post->ID, 'post_type' => 'attachment', 'nopaging' => false, 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID', 'post_status' => 'any' ); $attachments =& get_children($args); if ($attachments) { foreach($attachments as $attachment) { foreach($attachment as $attachment_key => $attachment_value) { $imageID = $attachment->ID; $imageTitle = $attachment->post_title; $imageCaption = $attachment->post_excerpt; $imageDescription = $attachment->post_content; $imageAlt = get_post_meta($imageID, '_wp_attachment_image_alt', true); $imageArray = wp_get_attachment_image_src($attachment_value, $size, false); $imageURI = $imageArray[0]; // 0 is the URI $imageWidth = $imageArray[1]; // 1 is the width $imageHeight = $imageArray[2]; // 2 is the height // Build the <img> string $ImgString = '<li><a href="' . get_permalink() . '" title="' . the_title("", "", false) . '"><img src="' . $imageURI . '" width="' . $imageWidth . '" height="' . $imageHeight . '" alt="' . $imageAlt . '" title="' . $imageTitle . '" /></a></li>'; // Print the image echo $ImgString; break; } } } unset($args);}
Then call the function and pass in the size of image you want returned (thumbnail, medium, large or full) like so:
get_gallery_image_thumb_list("thumbnail");
This will need to be called in The Loop or a custom loop.
Je vois denombreusesméthodespour afficher les vignettes dans WordPress,maisje ne suispasimmédiatement sûr de savoir commentje pourrais obtenir uniquement le chemin vers la vignette d'un articleplutôt que le codeprêtpour le HTMLgénérépar desfonctions comme
the_post_thumbnail()
etget_the_post_thumbnail()
.Quellesméthodesme permettent d'obtenir uniquement le chemin de la vignette (pour la définir commebgimage)plutôt que labalise
<img />
?Ai-je uniquement lapossibilité d'analyser les résultats de laméthodeget_
ou y a-t-il unmoyenplus simple?