Sidebar
ein-/ausblenden

Post-Thumbnails in der Artikelansicht

Plugin für WordPress SEO

Anzeige

Mit WordPress Version 2.9 wurde die Funktion der Post Thumbnail eingeführt. Über diese Funktion und dessen Randthemen wurde bereits hier und in anderen Blogs viel geschrieben. Von Vorteil empfinde ich es aber, wenn man direkt in der Übersicht der Artikel und Seiten das zugeordnete Thumbnail sieht, so dass man leicht die Verwendung zuordnen kann. Daher möchte ich einen kleinen Codeschnippsel vorstellen, der genau das macht.

Die Funktion habe ich noch ein wenig ausgebaut, so dass nicht nur das Post Thumbnail gezogen wird, sondern wenn dieses nicht vergeben wurde, aber Bilder über die Upload-Funktion zum Post zugeordnet wurden, dann wird das erste Bild dieser Bilder gezogen. Dies ist vor allem dann interessant, wenn man vor WordPress 2.9 mit den Bildern aus der Mediathek das gleiche Ziel erreicht hat, wie mit der neuen Funktion des Post Thumbnail.

Pos Thumbnail in der Übersicht der Beiträge

Der obige Screenshot sollte verdeutlichen, was die kleine Erweiterung macht. Der folgende Code muss lediglich in ein Plugin ausgelagert oder in die functions.php des Themes kopiert werden.


if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {

	// for post and page
	add_theme_support('post-thumbnails', array( 'post', 'page' ) );

	function fb_AddThumbColumn($cols) {

		$cols['thumbnail'] = __('Thumbnail');

		return $cols;
	}

	function fb_AddThumbValue($column_name, $post_id) {

			$width = (int) 35;
			$height = (int) 35;

			if ( 'thumbnail' == $column_name ) {
				// thumbnail of WP 2.9
				$thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
				// image from gallery
				$attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );
				if ($thumbnail_id)
					$thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
				elseif ($attachments) {
					foreach ( $attachments as $attachment_id => $attachment ) {
						$thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
					}
				}
					if ( isset($thumb) && $thumb ) {
						echo $thumb;
					} else {
						echo __('None');
					}
			}
	}

	add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
	add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );
}

16 Kommentare zu „Post-Thumbnails in der Artikelansicht“

  1. 1
    Kommentar von Markus

    super dank dir

  2. 2
    Kommentar von René

    Genauso etwas suche ich, allerdings für die User-Übersicht. Da ist mir bisher der richtige add_action Befehl noch nicht für untergekommen.

  3. 3
    Kommentar von Heiko

    Unnütz aber schön. Danke.

    Mal schauen ob ich es länger eingebaut lasse, da bei den ersten Aufrufen die Ladezeit der Artikelliste merklich erhöht war. Das könnte in der täglichen Arbeit mit WP stören...

  4. 4
    Kommentar von Kinger

    Super! Wieder was dazu gelernt. Danke.
    Wenn man folgenden Code nach der add_filter und add_action Methode ranhängt kann man auch unter der Seiten-Übersicht die Miniatur-Bilder bestaunen!
    add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
    add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );

    Gruß

  5. 5
    Kommentar von Frank Bültge

    @René: sollte eigentlich gleich gehen:
    add_filter( 'manage_users_columns', 'fb_AddThumbColumn' );
    add_action( 'manage_users_custom_column', 'fb_AddThumbValue', 10, 2 );

  6. 6
    Kommentar von Frank Bültge

    @Kinger: sollte man davon abhängig machen, wo das Thumbnail zugelassen ist, daher auch der kleine Kommentar im Code.

    @Heiko: ja, sollte man auch nicht unterschätzen, denn pro Beitrag ein Datenbankquery ist nötig. Aber dies kann man wieder durch die Anzahl der Beiträge im Edit-Bereich in Grenzen halten. Dies kann ja jeder Nutzer selbst setzen.

  7. 7
    Kommentar von René

    @Frank

    Danke, das war das Puzzleteilchen was mir gefehlt hat, wen es interessiert, hier der Code für die Benutzertabelle:

    function add_user_column($defaults) {
    $defaults['nl'] = __('Niederlassung', 'user-column');
    return $defaults;
    }

    function add_custom_user_column($value, $column_name, $id) {
    if( $column_name == 'nl' ) {
    return get_usermeta($id, 'Niederlassung');
    }
    }

    add_action('manage_users_custom_column', 'add_custom_user_column', 15, 3);
    add_filter('manage_users_columns', 'add_user_column', 15, 2);

  8. 8
    Kommentar von Patrick Schwarz

    Super cool das werd ich gleich mal bei mir versuchen!

  9. 9
    Kommentar von Hoffmann aus Stuttgart

    Sehr nice, vielen Dank!

  10. 10
    Kommentar von Manuela

    Dankeschön! Funktioniert wunderbar.

  11. 11
    Kommentar von Manu

    Super! Hat wunderbar geklappt bei meinem Blog.

  12. 12
    Kommentar von Base Stricker

    super, jetzt brauchen wir nur mehr jemanden der diesen Code uns armen Kulturmagazin redakteueren einbaut ...lg grüsse aus graz

  13. 13
    Kommentar von Frank Bültge

    @Base: da kann ich helfen bzw. vermitteln, wenn ihr Hilfe braucht.

  14. 14
    Kommentar von Base Stricker

    das wäre super Frank, wir haben da so einige kleinigkeiten ... bildupload funktion für beiträge und kommentare funkt nicht, und in diesem angewandten News Magazine Theme 640 1.7 von antisocialmediallc.com lassen sich die kategorien zwar erstellen jedoch für den besucher nicht wirklich sichtbar unterbringen, da ist auch das kategorie Feld zu klein ? ... so mussten wir so viele seiten erstellen und damit sind unsere freiwilligen redakteure nicht erfreut ... bitte schreibe mir wie eine hilfe stattfinden könnte ? meine mail siehst du ja .... lg hjg

  15. 15
    Kommentar von Holger

    Die Thumbs in der Artikelübersicht find ich echt toll! Klasse Anleitung. Mal sehen ob ich es hinbekomme.

  16. 16
    Kommentar von Melanie

    Feine Sache. So hat man noch schneller einen Überblick. Danke für den Tipp und den Code.

Überlastung, Kommentare sind vorübergehend geschlossen

Ich bin urlaubsreif, ersticke in Arbeit und damit auch für die Leser des Weblogs nicht zu erreichen. Bitte geduldet euch ein wenig mit Supportanfragen.
Leider muss ich die Kommentarfunktion deaktivieren, ansonsten würde ich weiter in Arbeit ersticken oder die Anfragen nicht nach bestem Gewissen beantworten.

Vielen Dank für das Verständnis!