Come ottenere la prima immagine di un articolo e mostrarla dove vuoi con Wordpress

Il titolo è un po’ complicato ma quello che voglio mostrarti è semplice: prendere la prima immagine che hai inserito in un articolo e fare in modo che venga mostrata da un’altra parte, per esempio nella pagina iniziale del blog tra gli articoli in rilievo, magari in formato thumbnail ridotto, oppure anche nella barra laterale.

Per fare questo apri il file functions.php all’interno della cartella del tema che stai usando (se non fosse presente crealo con un editor di testo) e inserisci questo codice:

<?php
function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){ //Defines a default image
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}
?>

L’unica cosa a cui fare attenzione o da modificare in questo codice è dove viene impostata l’immagine predefinita, nel caso non ci fossero immagini nell’articolo in questione. Tra le ultime righe c’è infatti il codice (/images/default.jpg) che deve essere modificato in base alla struttura del tuo tema o al nome del file.

Ora per richiamare l’immagine nella posizione che desideri utilizza semplicemente la seguente funzione:

<?php echo catch_that_image() ?>

Questa deve essere posta all’interno del loop e può essere poi modificata, per esempio specificando le dimensioni dell’immagine (width, height) o applicandoci un foglio di stile in base al tuo tema.

Lascia un commento