Wer in seinem WordPress Blog mit dem Artikelbild arbeitet und immer eines setzen will, muss - je nach Layout-Umsetzung, der kann mit Hilfe eines kleines Plugins das Setzen automatisch erledigen lassen.
Das folgenden kleine Plugin tut dies, wenn kein Featured Image gesetzt ist und schnappt sich das erste Bild, welches zum Artikel hochgeladen wurde.

Als weitere Alternative könnte man ein weiteres Bild als Standard definieren, quasi als Fallback-Lösung wenn kein Bild zum Artikel vorhanden ist.
Immer wenn der Beitrag gespeichert bzw. aktualisiert wird, wird das Bild überprüft und ggf. gesetzt.
Weitere Lösungen um mit den Bildern und Daten aus der Mediathek zu arbeiten findet ihr in einem weiteren Beitrag hier im Blog. Soll es dazu dann noch die Kontrolle in der Artikelansicht geben, dann ebenso einige Zeilen mehr ergänzen, siehe Artikel "Post-Thumbnails in der Artikelansicht". Alternativ habe ich das Plugin erweitert und ihr könnt es euch in diesem Gist holen.
<?php
/**
* Plugin Name: Set featured image
* Plugin URI: http://bueltge.de
* Description: Set featureed image automaticly on save post/page
* Version: 1.0.0
* Author: Frank Bültge
* Author URI: http://bueltge.de
* License: GPLv3
*/
// This file is not called from WordPress. We don't like that.
! defined( 'ABSPATH' ) and exit;
if ( ! function_exists( 'fb_set_featured_image' ) ) {
add_action( 'save_post', 'fb_set_featured_image' );
function fb_set_featured_image() {
if ( ! isset( $GLOBALS['post']->ID ) )
return NULL;
if ( has_post_thumbnail( get_the_ID() ) )
return NULL;
$args = array(
'numberposts' => 1,
'order' => 'ASC', // DESC for the last image
'post_mime_type' => 'image',
'post_parent' => get_the_ID(),
'post_status' => NULL,
'post_type' => 'attachment'
);
$attached_image = get_children( $args );
if ( $attached_image ) {
foreach ( $attached_image as $attachment_id => $attachment )
set_post_thumbnail( get_the_ID(), $attachment_id );
}
}
}
Exzellente Idee. Hilft mir zwar immer noch nicht wirklich, weil ich zum einen teilweise mit "wiederverwerteten" Bildern arbeite. Also Bildern, die ich gar nicht zum aktuellen Artikel hochlade, sondern mal zu einem thematisch ähnlichen verwendet habe.
Und zum anderen erstelle ich die Artikel zumeist mit Windows Live Writer.
Aber generell lässt sich aus dem Ansatz sicher etwas machen.
Ich werde mal testen, wie das mit dem WLW zusammen funktioniert.
Funktioniert/Hilft nicht, wenn man seine Artikel mit dem Windows Live Writer verfasst. Geht wohl nur, wenn man die direkt im Backend von WP schreibt und das tue ich mir nicht an.
@MarcK: da wird ein anderer Hook angesprochen, daher bekomme WP vom neuem Post nichts mit.
Funktioniert das auch für Bilder die mittels der NG Gallery eingebunden wurden? Das wäre klasse
@Eike: nein, im Standard so nicht. Dazu muss man Nextgen Funktionen nutzen und dessen Abfrage, aber in einem Kommentar im englischem Blog hat dies schon mal jemand getan und vielleicht hilft dir das dann.
Vielen Dank für den Tip. Mein Blog ist ja leider sehr arm an Bildern. Ich glaube, da muss ich jetzt mal extrem nachbessern und die Idee oben, werden ich dann gleich mal probieren umzusetzen.
Danke für die Erklärung. Habe ein Webblog, welches ein gekauftes Design von Themeforest installiert hat und dort schätze ich die Funktion sehr.
Nun kann ich das auch mal selbst auf meiner Handyseite einbauen, habe mir schon häufiger überlegt, dass zu tun. Nun bekomme ich eine gute Anleitung serviert. Danke Frank, immer wieder klasse die kleinen Details von dir!
Ich betreibe auch einen kleinen privaten Blog über WordPress. Habe ich da auch die Möglichkeit zum Beispiel den Artikel einer Website, komplett mit Bildern und so einzubetten? Ich finde immer mal wieder schöne Artikel, die ich gerne mit anderen Teilen würde, aber ich denke immer, wenn ich nur die URL einbringe guckt sich das eh keiner an..
Ich habe ein Beipiel für einen solchen Artikel angefügt.
@Claudia: technisch geht das gut; das rechtliche Thema ist hier aber wichtiger, da du den Inhalt abschöpfst, kopierst ...
Hallo Frank,
Danke ein Klasse Plugin...
Ich hab nur ein problem mit rel="attachment
hab HTML5 WP Thema und kriege diese HTML5-Spezifikation rel="attachment nicht validatiert.
Gibt da eine abhilfe?Filter oder so. So muss ich bildchen ab <img src= plazieren und attachment gans auslassen.
Kannst Du da vielleicht ein Tipp geben.?
Danke
MfG
@Viktor: mit welcher Funktion gibst du das Thumbnail aus, wo das rel Attribute drin ist?
Hallo Frank,
Neuen Artikel erstellen, wenn ich stardart Funktion einsetze bei einem Artikel Bild Einfügen,oder Artikelbild festlegen dann wird dies mit <a><img... eingefügt und rel="attachment wp-att ist So wie ich verstehe keine HTML5-Spezifikation genauso wie rel=”category tag”.
mit diesem Filter hab rel=”category tag Valide gekriegt.
So muss ich immer wider <a> löschen und nur <img... lassen,aber Nachteil ist das Thumbnail nicht mehr klickebel ist,so kann Benutzer nicht volle grösse sehen.
@Viktor: nein, ich meine mit welcher Funktion du im Theme das Bild ausgibst,
the_post_thumbnail()?Super Thema Frank. Genau das hatte ich letzte Woche gebraucht. Ist es auch möglich statt des ersten Bildes eines Artikels ein Standardbild zu nutzen, falls ich kein individuelles festlege?
@Chris: ja, man kann dies tun. Dazu würde ich aber über einen Filter gehen und einen Standard nutzen, siehe dieser Artikel. Wenn du den obigen Code( das Plugin nutzt, dann muss die Funktion nur erweitert werden.
Hallo, ich habe mir Ihr Plugin heruntergeladen und den Ordner in das Plugin Verzeichnis gelegt. Als Neuling in WP denke ich ist das so richtig. Es wir in den Plugins kein neues Plugin Angezeigt, ich kann es nirgendwo finden. Wäre schön wenn sie mir schreiben könnten wie ich das Plugin richtig einbaue!!
Ich benutze WP 3.4.0
MFG
@Jürgen: ist korrekt so, in wp-content/plugins ablegen und gut. Eventuell stimmen die Rechte nicht, die Datei muss Leserechte haben, sonst kann WordPress das Plugin nicht auslesen und in der Liste auslesen.
Hallo, danke für die Antwort, nun ist das Plugin (Set featured image) auch da und ich konnte es Aktivieren. Bei der Veröffentlichung eines neuen Post mit Bild passiert aber leider nichts. Es wird kein Artikel bild generiert. Ich muss es wieder von Hand machen.
Was kann ich noch tun??
MFG
@Jürgen: Wenn das Plugin aktiv ist, dann mal in den Artikel gehen, dort etwas ändern und aktualisieren, nur bei diesem Speichervorgang, wird das Bild gesetzt.
Hallo, leider funktioniert das mit dem Aktualisieren der Beiträge auch nicht. Selbst wenn ich etwas verändere und den Artikel neu speichere tut sich nichts!!
MFG
Hallo Frank,
mit so eine Funktion.
<a href=""></a>Tja jetzt der code weg
if ( has_post_thumbnail() )so
@Viktor: immer noch weg; du musst maskieren.
Hallo Frank,
habe ich doch maskiert
has_post_thumbnail()
ist doch standart von WP oder? und html wider gibt
rel="attachment wp-att
und dies ist grade nicht Valide.
Verstehst Du, was ich meine? Wie kann ich attachment wp-att ausfiltern, wie gesagt kenne WP mit allen Funktionen nicht so Gut, hab mich jahrelang mit DataLife Engine beschäftigt.
Wenn Du da ein Tipp für mich hast.Danke
@Viktor:
has_post_thumbnail()ist nur zum Prüfen, ob es ein Thumbnail gibt. Vermutlich steuerst du die Ausgabe via Template tagthe_post_thumbnail()?Hallo Frank,ja genau die Ausgabe via Template tag, so siehts aus
the_post_thumbnail('thumbnail');
eingebaute Tema Funktion
// This theme uses post thumbnailsadd_theme_support( 'post-thumbnails' );
Glaube ich.
@Viktor: im Standard liefert
the_post_tumbnail()aber kein rel-Attribut. Die Funktion nutzt folgende Attribute: src, class, alt, titleSehr gut, genau sowas haben wir gebraucht, verwenden wir nämlich in jedem Artikel.
hallo, nettes plugin! ne idee wie ich anstatt dem ersten das jeweils zuletzt in eine post hochgeladene bild als artikelbild definiere? grüße!
@flo: ja, dazu ist ein vorangegangener Beitrag verlinkt, der diese Möglichkeit listet.
Sie sind meine Rettung...hab mal in google die Frage eingegeben aber nicht mit so einer hilfreichen Antwort gerechnet.
Herzlichen Dank!
Vielen Dank, genau danach hab ich gesucht
Sehr sinnvoll ist das Standard-Bild, falls keines im Artikel ist - in der Artikelübersicht etwa in den News sieht es sonst unschön aus, wenn ein Artikel mal kein kleines Vorschaubild hat.
Ich bin auf der Suche nach einem Plugin, welches ähnliche Bilder in einen Artikel einfügen kann, über dein Plugin gestolpert. Da ich leider kein Plugin mit der Funktion "related images" gefunden habe, werde ich wohl dein Plugin einsetzen. Trotzdem die Frage: ist dir ein Plugin bekannt welches "ähnliche Bilder" innerhalb von meinem eigenen /wp-content/uploads/ Ordner sucht (z.B. anhand des Alt-Textest oder der Bildebeschreibung) und diese dann automatisch am Ende des Artikels einfügen kann ? Also ähnlich wie Yarpp nur eben mit Bildern ?
@Markus: nein, nichts bekannt.
Gibt es auch die Möglichkeit zwei Bilder für einen Artikel hochzuladen? Z.B. für ein Interview mit zwei Person hätte ich gerne zwei Portrait-Bilder auf der Teaser-Seite, statt ein Bild mit beiden Gesichtern darauf. Ist das realisierbar und falls ja, wie?
hallo,
wo finde ich den download für das plugin? ich sehe es leider nicht.
lg
@sven: im Artikel ist der Link zum Gist, dort gibt es einen Download-button.