WordPress Beitragsbilder im Dashboard anzeigen lassen

Beitragsbilder sind für einen Blogbeitrag mittlerweile genau so wichtig wie eine aussagekräftige Überschrift. WordPress bietet in der Dashboard Übersicht jedoch per default keine Auflistung der Beitragsbilder. Mit diesem Tutorial kannst du dies relativ einfach ändern.

Wie immer gilt:

Bevor du Änderungen an einem Theme vornimmst, lege dir dazu ein Child Theme an.

Erweiterung der Liste um eine neue Spalte in der functions.php

/****** Add Thumbnails in Manage Posts/Pages List ******/
// Unterstuetzung der Beitragsbilder fuer Beitraege und Seiten 
add_theme_support('post-thumbnails', array('post', 'page'));
// Ein neue Spalte am Ende der Liste anhaengen
function toabai_AddThumbCol($cols) {
  $cols['thumbnail'] = __('Thumbnail');
  return $cols;
}
add_filter('manage_posts_columns', 'toabai_AddThumbCol');
add_filter('manage_pages_columns', 'toabai_AddThumbCol');

Hier wird sichergestellt, dass das Theme auch Beitragsbilder, also Thumbnails, unterstützt. Dazu aktivieren wir es für Seiten und Beiträge:

// Thumbnail-Support fuer Beitraege/Seiten 
add_theme_support('post-thumbnails', array('post', 'page'));

Als nächsten Schritt fügen wir eine neue Spalte am Ende der Liste ein

// Ein neue Spalte am Ende der Liste anhaengen
function toabai_AddThumbCol($cols) {
  $cols['thumbnail'] = __('Thumbnail');
  return $cols;
}
add_filter('manage_posts_columns', 'toabai_AddThumbCol');
add_filter('manage_pages_columns', 'toabai_AddThumbCol');

Ausgeben der Beitragbilder in der neu angelegten Liste

Mit folgendem Code Snippet werden nun die Beitragsbilder in die Liste eingefügt.

function toabai_AddThumbVal($column_name, $post_id) {
  // Hier wird die Groesse der Bilder in Pixel festgelegt
  $width  = (int) 35;
  $height = (int) 35;
  // Falls die Spalte mit den Bilder aktiv ist
  if ('thumbnail' == $column_name) {
    // Beitragsbild
    $thumbnail_id = get_post_meta($post_id, '_thumbnail_id', true);
    // Bild aus dem Inhalt
    $attachments = get_children(array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image'));
    if ($thumbnail_id)
      // falls es ein Beitragsbild gibt, dieses laden
      $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
    elseif ($attachments) {
      // das letzte eingefuegte Bild des Beitrags laden
      foreach ($attachments as $attachment_id => $attachment) {
        $thumb = wp_get_attachment_image($attachment_id, array($width, $height), true);
      }
    }
    if (isset($thumb) && $thumb) {
      // Bild anzeigen
      echo $thumb;
    } else {
      // "Keine Bild" einfuegen
      echo __('None');
    }
  }
}
add_action('manage_posts_custom_column', 'toabai_AddThumbVal', 10, 2);
add_action('manage_pages_custom_column', 'toabai_AddThumbVal', 10, 2);

Die Funktion toabai_AddThumbVal prüft, ob ein Beitragsbild (Thumbnail) existiert. Wenn noch kein Beitragsbild hochgeladen worden ist, so wird ein Bild aus dem Inhalt des Beitrags gesucht.

Durch die Schleife wird nur das letzte Bild geladen, welches gefunden wird. Ergibt die Suche keinen Treffer, wird das Wort “Keines” in der Spalte mit den Beitragsbildern angezeigt.

Viel Spaß beim Ausprobieren!

Und so sieht die Liste dann am Ende aus: