Für Menschen · Seien Sie begeistert und Sie werden begeistern !
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.
![]()
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 );
}
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!
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 854 Beiträge, 15036 Kommentare in 14 Kategorien und 450 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet.
Design und Code ist unter Copyright
© 2001 - 2010 bueltge.de [by:ltge.de]
9. Februar 2010 um 11:07
super dank dir
9. Februar 2010 um 12:19
Genauso etwas suche ich, allerdings für die User-Übersicht. Da ist mir bisher der richtige add_action Befehl noch nicht für untergekommen.
9. Februar 2010 um 12:32
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...
9. Februar 2010 um 12:38
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ß
9. Februar 2010 um 12:39
@René: sollte eigentlich gleich gehen:
add_filter( 'manage_users_columns', 'fb_AddThumbColumn' );add_action( 'manage_users_custom_column', 'fb_AddThumbValue', 10, 2 );
9. Februar 2010 um 12:51
@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.
9. Februar 2010 um 14:15
@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);
15. Februar 2010 um 16:31
Super cool das werd ich gleich mal bei mir versuchen!
16. Februar 2010 um 13:29
Sehr nice, vielen Dank!
16. Februar 2010 um 14:41
Dankeschön! Funktioniert wunderbar.
16. Februar 2010 um 20:23
Super! Hat wunderbar geklappt bei meinem Blog.
20. Februar 2010 um 12:08
super, jetzt brauchen wir nur mehr jemanden der diesen Code uns armen Kulturmagazin redakteueren einbaut ...lg grüsse aus graz
20. Februar 2010 um 21:47
@Base: da kann ich helfen bzw. vermitteln, wenn ihr Hilfe braucht.
25. Februar 2010 um 11:34
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
25. Februar 2010 um 17:09
Die Thumbs in der Artikelübersicht find ich echt toll! Klasse Anleitung. Mal sehen ob ich es hinbekomme.
28. Februar 2010 um 20:02
Feine Sache. So hat man noch schneller einen Überblick. Danke für den Tipp und den Code.