Fonction pour obtenir l'URL de l'image téléchargée d'origine - taille réelle


11

J'utilise actuellement le code suivant pour obtenir l'URL de l'image sélectionnée d'un article wordpress:

URL="<?php if (function_exists('wp_get_attachment_thumb_url')) {echo wp_get_attachment_thumb_url(get_post_thumbnail_id($post->ID), 'big-size'); }?>"

Mais le code ne renvoie que la plus petite miniature (150x150px). Voici ce que j'obtiens:

http://sitename.com/wp-content/uploads/imagename-150x150.png

Ma question est, comment puis-je obtenir pour renvoyer l'URL de l'image d'origine (image en taille réelle) qui serait:

http://sitename.com/wp-content/uploads/imagename.png

Merci beaucoup pour votre temps et votre aide.

Réponses:


27

Il existe quatre tailles valides intégrées au noyau WordPress.

the_post_thumbnail('thumbnail');    // Thumbnail (default 150px x 150px max)
the_post_thumbnail('medium');       // Medium resolution (default 300px x 300px max)
the_post_thumbnail('medium_large'); // Medium Large resolution (default 768px x 0(means automatic height by ratio) max) since WP version 4.4
the_post_thumbnail('large');        // Large resolution (default 640px x 640px max)
the_post_thumbnail('full');         // Original image resolution (unmodified)

Le dernier est celui que vous recherchez.

Ce qui suit renvoie l'URL.

<?php
  $src = wp_get_attachment_image_src( $attachment_id, $size, $icon );
  echo $src[0];

Le code entier peut ressembler à ça:

<?php
  $src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full', false );
  echo $src[0]; // the url of featured image

Plus d'informations peuvent être trouvées ici .


Merci pour votre réponse. Je recherche actuellement une fonction pour renvoyer l '"URL" de l'image et non l'image elle-même. Je doute donc que the_post_thumbnail fonctionne pour cela. Ou peut-être que je me trompe?
theshorttree

@theshorttree voir ma réponse mise à jour.
SLH

Cela a totalement fonctionné, merci beaucoup pour votre temps et votre réponse!
theshorttree

1

Un peu tard pour la fête,

mais

get_the_post_thumbnail_url(null,'full'); fait exactement le travail, où full peut être remplacé par thumbnail, medium, medium_large ou large.


1

Pour ceux qui viennent ici après octobre 2019

WordPress a introduit un "Big Image Threshold" depuis la version 5.3 ( Lien )

En bref, toutes les images au-dessus de 2560px seront réduites lors du téléchargement. L'appel du format d'image "complet" ne renverra plus toujours l'image d'origine intacte mais pourrait renvoyer cette version 2560px et aura "-scaled" dans l'url et le chemin.

Vous pouvez toujours obtenir l'URL et le chemin des images téléchargées à l'origine avec les fonctions suivantes: wp_get_original_image_path()ou wp_get_original_image_url(). Bien que la documentation suggère qu'une nouvelle taille a "original_image"été ajoutée, wp_get_attachment_image, wp_get_attachment_image_src ou des fonctions similaires renvoient toujours la version réduite. Donc pour autant que je puisse dire aucun moyen d'obtenir les dimensions du fichier d'origine, etc.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.