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 );
}
händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.
Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.
xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>
Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als < und > als > einfügt.
E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.
Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.
Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.
Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.
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 971 Beiträge, 19462 Kommentare in 14 Kategorien und 459 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 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.
10. Mai 2010 um 21:24
Vielen Dank für den Code!! Genau was ich gesucht habe. Ich bin gerade dabei einen Fotoblog zu aktualisieren und diese Funktion wird dem User super helfen.
21. Mai 2010 um 15:37
Herzlichen Dank für den tollen Code! Wir könnten probieren! Habe lange nach sowas gesucht!
1. Juli 2010 um 16:31
Hallo Frank
Ich definiere die Bilder mit einem benutzerdefiniertem Feld (image).
Ist es möglich, den Code so anzupassen, dass die Thumbnails in der Liste gezeigt werden, auch wenn die Bilder per benutzerdefiniertem Feld zugeteilt sind?
Vielen Dank für deine Hilfe.
5. Juli 2010 um 15:21
@Serge: ja, im Grunde wird das ja schon getan; du musst beim Holen des Feldes nur den Namen deines Feldes eintragen, im Code hole ich jetzt das WP-Standard-Feld:
_thumbnail_id$thumbnail_id = get_post_meta( $post_id, 'DEIN_FELD', true );7. Juli 2010 um 09:09
Hallo Frank, ich sehe zwar jetzt einen Rahmen, das Bild selber aber nicht. Schicke dir gerne ein Print Screen. . Das Feld heisst übrigens "image". In der Datenbank ist folgender Wert abgelegt:
http://www.photofrontal.com/wp-content/uploads/2010/07/064297-01-TRUI.jpgKönnte es ein Problem wegen der Filegrösse sein?
7. Juli 2010 um 11:22
@Serge: nein, die Größe ist egal, sie hat natürlich Folgen auf die Ladezeit.
7. Juli 2010 um 11:25
@Serge: Sorry, gerade über den Code geschaut, geht so natürlich nicht. Die Zeile holt zwar den Wert aus deinem Custom Field, nutzt dann aber die WP Attachment Funktion für die Anpassung. Die braucht man nicht, denn du willst ja nur die URL aus dem Custom Field übernehmen und dort darstellen. Insofern musst du also nur den Wert des Custom Field in ein img-Element übernehmen, fertig.
7. Juli 2010 um 12:05
Sorry Frank, ich habe keine Ahnung von PHP. Könntest du mir den Code entsprechend durchgeben? Vielen Dank!
9. August 2010 um 15:50
Via Custom Field "image" - berücksichtigt kein Thumbnail, da müsste man ggf. etwas anpassen.
15. Dezember 2010 um 21:45
Hallo Frank. Super, genau das habe ich gesucht. Allerdings habe ich teilweise die Artikelbilder aus der Nextgen Gallery angezeigt und bei diesen Artikeln wird dann nicht das Bild, sondern ein default-image angezeigt. Hast du eine Lösung, wie ich den Code ändern kann, um auch die ngg-Bilder anzuzeigen?
Viele Grüße,
Nina
16. Dezember 2010 um 10:53
@Nina: nein, habe Nextgen noch nie verwendet und kenne daher die Funktionen nicht; aber ich erinnere mich an einen Kommentar auf meinem englischen Pandon, der dies tut.
26. April 2011 um 17:52
"@Nina: nein, habe Nextgen noch nie verwendet und kenne daher die Funktionen nicht; aber ich erinnere mich an einen Kommentar auf meinem englischen Pandon, der dies tut."
Hi!
Ich habe exakt das gleiche Prob und finde keine Lösung! Wenn du, lieber Frank, einen Link zu deinem englischen Pandon hast, bitte her damit! DANKE!
26. April 2011 um 19:45
@Mad: via Google
hier der Komment
26. April 2011 um 21:15
Lieber Frank - vielen Dank! Sehr nett von dir! Aber irgendwie blicke ich nicht ganz durch, wie ich timthumb.php da einbinden soll. Ich verstehe die Vorzüge von timthumb.php - aber ich frage mich wie ich es da einbinde, denn einen resizeordner habe ich so nicht..
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){
$xx=get_post_thumbnail_id($post_id);
if ( is_string($xx) && substr($xx, 0, 4) == 'ngg-') {
$thumbnailID = substr($xx, 4);
$image = nggdb::find_image($thumbnailID);
if ($image) { // Safety check for null pointer.
$temp=get_bloginfo('template_directory')."/resize/timthumb.php?src=".$image->thumbURL."&h=35&w=35";
$thumb="";
}
}else $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');
}
}
}
27. April 2011 um 14:10
@Mad: das ist der PFad:
$temp = get_bloginfo('template_directory')."/resize/timthumb.php, wobei et_bloginfo('template_directory') den Ordner des Themes zurück gibt.7. Mai 2011 um 13:33
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.
15. Mai 2011 um 02:21
Danke für die Antworten!