Come si ottiene la dimensione della miniatura del post?


13

So come impostare le dimensioni di un'immagine in miniatura post usando le Impostazioni supporto amministratore WP o usando questa funzione :

set_post_thumbnail_size( 150, 150 )

Ma come si otterrebbe la larghezza e l' altezza dell'immagine impostate per le dimensioni dell'anteprima dell'immagine?

Mi piacerebbe poter fare qualcosa del genere:

get_post_thumbnail_size(); // return array(150, 150)

Come sarebbe fatto? Usando get_option()e le chiavi delle opzioni sarebbero per larghezza e altezza delle miniature?

Risposte:


8

Quando una dimensione dell'immagine viene aggiunta da WordPress ( add_image_size) o da un plug-in o dal tuo codice personalizzato che viene aggiunto al $_wp_additional_image_sizesglobale, non riesco a trovare una funzione simile per estrarre i dati da quel globale, ma potresti sicuramente guardare dentro il globale per determinare la larghezza e l'altezza di una dimensione di immagine registrata.

Esempio:

global $_wp_additional_image_sizes;
// Output width
echo $_wp_additional_image_sizes['post_thumbnail']['width'];
// Output height
echo $_wp_additional_image_sizes['post_thumbnail']['height'];

Ovviamente assicurati di fare riferimento a quei valori in un punto dopo aver impostato le dimensioni. Quindi, se ad esempio stai impostando la dimensione della miniatura durante init, dovrai assicurarti di fare tutto ciò che ti serve dopo quel punto (altrimenti otterrai le dimensioni come prima di impostarle).

Spero possa aiutare.


Sembra essere post-thumbnailpiuttosto che post_thubmnail(WP3.6)
user2019515

15

C'è comunque un altro modo:

get_option( 'thumbnail_size_w' );
get_option( 'thumbnail_size_h' );

Nota: thumbnailè una delle dimensioni impostate all'interno $_wp_additional_image_sizes. Quindi la chiamata a get_option()funzionerà anche per ogni altra dimensione dell'immagine.


4
Questa è in realtà l'opzione migliore perché il plug-in può eseguire i propri hook su di esso.
fuxia

1
Ecco perché sono sorpreso che non sia stato ancora menzionato.
Segna il


1

Tieni presente che questo global $_wp_additional_image_sizes; potrebbe non funzionare come previsto. Ad esempio, quando si utilizza il plugin, non verranno restituite le dimensioni aggiuntive registrate da un tema.


Lo farà se effettui la chiamata più tardi nella sequenza di azioni, ad es. se il tema registra le dimensioni dell'azione init, la chiamata deve essere effettuata dopo che si è verificata l'azione.
t31os,

1

L'unica cosa che manca è l'ID della miniatura:

$post_thumbnail_id = get_post_thumbnail_id( $post_id );
$attachment = wp_get_attachment_image_src( $post_thumbnail_id );
$width=$attachment[1];
$height=$attachment[2];


-1

Oltre al post sopra:

$attachment = wp_get_attachment_image_src( $attachment_id ); // where $attachment_id is the ID of the attachment you want to get the thumbnail from

Quindi utilizza semplicemente il codice successivo per visualizzare l'URL, la larghezza e l'altezza:

echo $attachment[0]; // url
echo $attachment[1]; // width
echo $attachment[2]; // height
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.