WordPress.org

Ready to get started?Download WordPress

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

it:Riferimento funzioni/get the post thumbnail

Descrizione

Recupera l'immagine in evidenza (o miniatura del post) impostata nella pagina di modifica del post e restituisce un elemento img HTML che la rappresenta, se c'è, altrimenti una stringa vuota.

Nota: Per abilitare le immagini in evidenza, o miniature del post, il tema corrente deve includere add_theme_support( 'post-thumbnails' ); nel suo file functions.php. Si veda anche Immagini in evidenza.

Utilizzo

 <?php echo get_the_post_thumbnail$post_id$size$attr ); ?> 

Parametri

$post_id
(integer) (opzionale) ID del post.
Default: L'ID del post corrente
$size
(string/array) (opzionale) Stringa con parola chiave (thumbnail, medium, large o full) o array con due elementi che rappresentano larghezza e altezza in pixel, es. array(32,32).
Default: 'post-thumbnail'
$attr
(string/array) (opzionale) Query string o array di attributi. Si veda wp_get_attachment_image.
Default: Nessuno
$default_attr = array(
			'src'	=> $src,
			'class'	=> "attachment-$size",
			'alt'	=> trim(strip_tags( $attachment->post_excerpt )),
			'title'	=> trim(strip_tags( $attachment->post_title )),
		);

Esempi

Esempio di utilizzo

<?php $pages get_pages(array('child_of' => 1)); ?> 
<ul>
    <?php foreach ($pages as $page): ?>
        <li>
            <?php echo get_the_post_thumbnail($page->ID'thumbnail'); ?>
            <h1><?php echo $page->post_title?></h1>
            <?php echo $page->post_content?>
        </li>
    <?php endforeach; ?>
</ul>

Dimensioni delle miniature

Le dimensioni predefinite delle immagini di WordPress sono "thumbnail", "medium", "large" e "full" (la dimensione dell'immagine così come caricata). Queste dimensioni possono essere configurate nel pannello di amministrazione Media in Impostazioni > Media. Le dimensioni predefinite possono essere usate con get_the_post_thumbnail() nei seguenti modi:

get_the_post_thumbnail($post_id);                  // senza parametro -> miniatura

get_the_post_thumbnail($post_id, 'thumbnail');     // miniatura
get_the_post_thumbnail($post_id, 'medium');        // risoluzione media
get_the_post_thumbnail($post_id, 'large');         // risoluzione grande
get_the_post_thumbnail($post_id, 'full');          // risoluzione originale

get_the_post_thumbnail($post_id, array(100,100) ); // altre risoluzioni

Si possono registrare nuove dimensioni per le immagini in evidenza con: add_image_size().
Per impostarne la dimensione predefinita si veda: set_post_thumbnail_size().

Miniature con collegamento al permalink del post

Questo esempio mostra le ultime 5 immagini in evidenza con il collegamento al permalink del rispettivo post.

<?php 
  $thumbnails = get_posts('numberposts=5');
  foreach ($thumbnails as $thumbnail) {
    if ( has_post_thumbnail($thumbnail->ID)) {
      echo '<a href="' . get_permalink( $thumbnail->ID ) . '" title="' . esc_attr( $thumbnail->post_title ) . '">';
      echo get_the_post_thumbnail($thumbnail->ID, 'thumbnail');
      echo '</a>';
    }
  }
?>

Miniatura con collegamento all'immagine di dimensione grande

Questo esempio crea un collegamento all'immagine di dimensione grande e deve essere usato all'interno del loop.

<?php 
 if ( has_post_thumbnail()) {
   $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'large');
   echo '<a href="' . $large_image_url[0] . '" title="' . the_title_attribute('echo=0') . '" >';
   echo get_the_post_thumbnail($post->ID, 'thumbnail'); 
   echo '</a>';
 }
?>

Dare uno stile alle immagini in evidenza

Le immagini in evidenza hanno una classe di stile "wp-post-image". Hanno anche una classe che dipende dalla dimensione in cui sono mostrate. Per dare uno stile all'output si possono usare questi selettori CSS:

img.wp-post-image
img.attachment-thumbnail
img.attachment-medium
img.attachment-large
img.attachment-full

Si può anche assegnare alle miniature la propria classe. In questo esempio, viene assegnata la classe "alignleft".

<?php echo get_the_post_thumbnail($post_id, 'thumbnail', array('class' => 'alignleft')); ?>

Note

Se ci si affida ad un filtro per effettuare il necessario richiamo a add_theme_support( 'post-thumbnails' ); nel file functions.php del tema corrente, questo deve essere chiamato prima che il filtro init venga eseguito. Il filtro init potrebbe essere eseguito troppo tardi per alcune caratteristiche. Se attaccato ad un filtro, questo deve essere after_setup_theme.

Log delle modifiche

Da: 2.9.0

File sorgente

get_the_post_thumbnail() si trova in wp-includes/post-thumbnail-template.php.

Risorse esterne

Correlati

Immagini in evidenza: has_post_thumbnail(), the_post_thumbnail(), get_post_thumbnail_id(), get_the_post_thumbnail(), add_image_size(), set_post_thumbnail_size(), wp_get_attachment_image_src

Si veda anche l'indice di Riferimento funzioni e l'indice di Tag dei template.