WordPress post_thumbnail feature

Anbei zwei Wege zur Darstellung von WordPress Thumbnails in der Template Programmierung…

1. Die einfache Variante

<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' ); ?>
<img class="card-img-top" src="" width="100%" alt="Card image">

Der Hacken hierbei ist, dass immer das Bild/img src angezeigt wird, selbst wenn eigentlich gar kein Bild vorhanden ist.
Deshalb:

2. die If Else Varinate

if (has_post_thumbnail()) {
$image_url = wp_get_attachment_image_src(get_post_thumbnail_id());
the_post_thumbnail('medium', array('class'=>'thumb card-img-top'));
} else {
echo 'test';
}

Die Variante setzt den Image Source, also das Bild nur ein, wenn auch wirklich ein Thumbnail vorhanden ist.
Zusätzlich war es notwenig – weil das an dieser Stelle von uns benötigt wurde, eine spezielle CSS-Class einzusetzen, deshalb das array(‚class… usw. Wenn Ihr das nicht braucht, einfach löschen.

Auch könnte Ich natürlich das echo ‚test‘; entfernen, wenn Ihr gar nichts anstatt des Bildes anzeigen wollt.

Also Bonus noch folgender Quellcode den WPsnipp gelistet hat:

add_filter( 'post_thumbnail_html', 'remove_wps_width_attribute', 10 );
add_filter( 'image_send_to_editor', 'remove_wps_width_attribute', 10 );

function remove_wps_width_attribute( $html ) {
$html = preg_replace( '/(width|height)=\"\d*\"\s/', "", $html );
return $html;
}

Dieser Quellcode entfernt die Höhen- und Weiten-Angaben des Bildes, nicht auf die feine englische Art mit RegX, aber sehr effektiv, was vor allem auch bei Responsive Designs hilfreich sein kann.