Anchor link to top of page
picture 846262 1920
,

Beitragsbilder sind längst nicht mehr nur Zierde, sondern spielen eine immer größere Rolle in bestimmten Schemata (strukturierte Daten, zum Beispiel Rich Suchergebnisse für Artikel), zu denen sie mithin sogar zwingend gehören. Umso wichtiger ist es, sich schnell einen Überblick darüber verschaffen zu können ob Beiträge bereits ein Artikelbild haben, oder nicht. Hierbei helfen nachfolgende Funktionen in der functions.php des Themes.

thumb column post list
Artikelbilder in Beitragsliste

Die erste Funktion fügt eine neue Spalte ('show_thumbnail' => esc_html__( 'Thumbnails')) in der Beitragsliste im Dashboard ein. Vorher entfernt sie die Beitragsauswahl mit unset aus dem Spalten-Array, und setzt sie anschließend zusammen mit dem neuen Element wieder ein. Die Auswahl-Checkboxen für Beiträge sollen ja ganz am Anfang bleiben.

function my_plugin_posts_columns( $columns ) {
    $first = array( 'cb' => $columns['cb'] );
    $second = array( 'show_thumbnail' => esc_html__( 'Thumbnail') ); 
    unset( $columns['cb'] );  
    return $first + $second + $columns;
}
add_filter( 'manage_posts_columns', 'my_plugin_posts_columns' );

Die zweite Funktion holt verfügbare Beitragsbilder in die dafür angelegte Spalte.

function my_plugin_show_post_thumbnail_column( $columns ){
    switch($columns){
        case 'show_thumbnail':
        if( function_exists('the_post_thumbnail') ){
            echo the_post_thumbnail( 'thumbnail' );
        }
        break;
    }
}
add_action( 'manage_posts_custom_column', 'my_plugin_show_post_thumbnail_column', 12, 3 );

Der Hook manage_posts_custom_column bezieht sich auf alle Inhaltstypen. Soll die Spalte nur einen bestimmten Inhaltstype betreffen, zum Beispiel Beiträge, den Hook entsprechend spezifizieren (Schema: manage_{post_type}_custom_column.

Ggf. muss noch die Spaltenbreite via CSS angepasst werden.

function my_plugin_custom_css() {
	$css = '.column-show_thumbnail {width:100px;}';
	$css .= '.column-show_thumbnail img {max-width:100%;height:auto}';
	printf( '<style id="my-plugin-css">%1$s</style>', $css );
} 
add_action( 'admin_head', 'my_plugin_custom_css' );

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht