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.

theshorttree
la source

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 .

SLH
la source
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.

user206904
la source
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.

Vinobe
la source