Mit der Funktion wp_get_attachment_image_src() fragt man die URL, Breite und Höhe des Artikelbildes ab. Als Parameter ist dabei die ID des Artikelbildes anzugeben (nicht des Beitrages, in dem das Bild verwendet wird!) – diese erhält man mit get_post_thumbnail_id. Als letztes ist noch anzugeben, von welcher Größe des Artikelbildes man die Daten abfragen will. Standardmäßig verwendet die Funktion wp_get_attachment_image_src() das Thumbnail.

Das Artikelbild in den verschiedenen Größen kann man über folgende Bezeichnungen abrufen:

  • thumbnail
  • medium
  • large
  • full

Ich möchte die Daten des Artikelbildes in voller Größe (also full) des aktuellen Posts abfragen, ich erhalte ein Array mit den Bildattributen für „url“, „width“ and „height“, das ganze speichere ich erstmal in einer Variablen $meinbild

//Daten von Artikelbild "full"
$meinbild = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' );

Aus diesem Array kann man nun also die Werte abfragen:

  • $meinbild[0] ist die URL des Artikelbildes
  • $meinbild[1] ist die Breite des Artikelbildes
  • $meinbild[2] ist die Höhe des Artikelbildes

Und wozu die Artikelbild Größe?

Beispiel: Wenn ein großes Artikelbild vorhanden ist (breiter als 550 Pixel), dann soll das Bild in Größe medium ausgezeigt und mit dem Artikelbild in Fullsize verlinkt werden. Doch wenn das Bild kleiner oder gleich 550 Pixel ist, dann gibt einfach nur das Bild aus – ohne Lightbox-Link.

if ($imgwidth > 550) {
	echo '<a href="' . $meinbild[0] . '">';
		the_post_thumbnail('medium');
	echo 'Bild zum Vergrößern anklicken';
	echo '</a>';
}
else {
	the_post_thumbnail('medium');
}

div-Element mit Breite des Artikelbildes

Ebenfalls ist es möglich, dem Element, welches das Artikelbild umschließt, die Breite des Bildes zu geben. Beispiel:

<div style="width: <?php echo $meinbild[1] ?>px; float: left; border: 2px solid #ddd">
	<?php the_post_thumbnail('medium'); ?>
</div>