Funzione per ottenere l'URL dell'immagine caricata originale - dimensione intera


11

Attualmente sto usando il seguente codice per ottenere l'URL dell'immagine in primo piano di un post di 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'); }?>"

Ma il codice restituisce solo la miniatura più piccola (150x150px). Questo è quello che ottengo:

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

La mia domanda è: come ottengo per restituire l'URL dell'immagine originale (immagine a dimensione intera) che sarebbe:

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

Mille grazie per il tuo tempo e il tuo aiuto.

Risposte:


27

Ci sono quattro dimensioni valide integrate nel core di 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)

L'ultimo è quello che stai cercando.

Di seguito restituisce l'URL.

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

L'intero codice può apparire così:

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

Ulteriori informazioni possono essere trovate qui .


Grazie per la tua risposta. In realtà sto cercando una funzione per restituire l '"URL" dell'immagine e non l'immagine stessa. Quindi dubito che the_post_thumbnail funzionerà per questo. O forse mi sbaglio?
theshorttree

@theshorttree vedi la mia risposta aggiornata.
SLH,

Ha funzionato totalmente, grazie mille per il tuo tempo e la tua risposta!
theshorttree

1

Un po 'tardi alla festa,

ma

get_the_post_thumbnail_url(null,'full'); fa esattamente il lavoro, dove full può essere sostituito da miniature, medium, medium_large o large.


1

Per coloro che verranno qui dopo ottobre 2019

WordPress ha introdotto una "Soglia di immagine grande" dalla versione 5.3 ( Link )

In breve, tutte le immagini superiori a 2560 px verranno ridimensionate al momento del caricamento. Chiamare il formato immagine "pieno" non sempre restituirà l'immagine originale non trattata, ma potrebbe restituire quella versione 2560px e avrà "ridimensionato" nell'URL e nel percorso.

Puoi comunque ottenere l'URL e il percorso delle immagini caricate originariamente con le seguenti funzioni: wp_get_original_image_path()o wp_get_original_image_url(). Sebbene la documentazione suggerisca che è "original_image"stata aggiunta una nuova dimensione , wp_get_attachment_image, wp_get_attachment_image_src o funzioni simili restituiscono comunque la versione ridotta. Quindi, per quanto posso dire, non posso ottenere le dimensioni del file originale, ecc.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.