Veröffentlichen Sie die Bildspalte auf der Seite mit der Liste der Administratorbeiträge

7

Ich habe eine Client-Site, die Bilder von Benutzern als Beiträge akzeptiert. Zur Moderation öffnen wir jeden Entwurf eines Beitrags, was offensichtlich viel Zeit in Anspruch nimmt, wenn eine große Anzahl von Bildern moderiert wird.

Gibt es eine Möglichkeit, ausgewählte Bilder des Beitrags auf der Seite mit der Liste der Administratorbeiträge als Spalte anzuzeigen?

Busyjax
quelle

Antworten:

11

Dies ist, was ich verwende, zusammengeschustert aus online gefundenen Snippets ... Es verwendet einen Filter manage_posts_colummns, um die Header neu auszurichten, und eine Aktion manage_posts_custom_column, um die Daten auf Zeilenebene hinzuzufügen.

function custom_columns( $columns ) {
    $columns = array(
        'cb' => '<input type="checkbox" />',
        'featured_image' => 'Image',
        'title' => 'Title',
        'comments' => '<span class="vers"><div title="Comments" class="comment-grey-bubble"></div></span>',
        'date' => 'Date'
     );
    return $columns;
}
add_filter('manage_posts_columns' , 'custom_columns');

function custom_columns_data( $column, $post_id ) {
    switch ( $column ) {
    case 'featured_image':
        the_post_thumbnail( 'thumbnail' );
        break;
    }
}
add_action( 'manage_posts_custom_column' , 'custom_columns_data', 10, 2 ); 

Sie können dies auch für benutzerdefinierte Beitragstypen verwenden, indem Sie nach filtern manage_CPTNAME_posts_columns.

jnthnclrk
quelle
9

Verwenden Sie diesen Hook, um der Ansicht "Admin-Post / Seitenliste" eine benutzerdefinierte Spalte hinzuzufügen.

add_filter('manage_posts_columns', 'add_img_column');
add_filter('manage_posts_custom_column', 'manage_img_column', 10, 2);

function add_img_column($columns) {
    $columns['img'] = 'Featured Image';
    return $columns;
}

function manage_img_column($column_name, $post_id) {
    if( $column_name == 'img' ) {
        echo get_the_post_thumbnail($post_id, 'thumbnail');
    }
    return $column_name;
}

Geben Sie diesen Code in Ihr functions.php

Mangesh Parte
quelle
nichts zu zeigen
Busyjax
Sind Sie sicher, dass Ihr Beitrag ein Bild enthält? Können Sie mir einen Screenshot zeigen? Dieser Code funktioniert gut für mich.
Mangesh Parte
i.imgur.com/UM67XYl.jpg hier ist es
Busyjax
Ich habe Sie gebeten, einen Screenshot des vorgestellten Bildes in einem einzelnen Beitrag zu zeigen. Wo Sie es hochgeladen haben. dh mervin.info/wp-content/uploads/2012/03/screenshot-1-300x209.png
Mangesh Parte
1
Ich musste zur zweiten Funktion wie folgt wechseln: echo get_the_post_thumbnail ($ post_id, 'thumbnail'); return true;
PNMG
3

Basierend auf dem @ Mangesh Parte-Code können Sie das Bild in der ersten Spalte vor dem Titel angezeigt haben.

add_filter('manage_posts_columns', 'add_img_column');
add_filter('manage_posts_custom_column', 'manage_img_column', 10, 2);

function add_img_column($columns) {
  $columns = array_slice($columns, 0, 1, true) + array("img" => "Featured Image") + array_slice($columns, 1, count($columns) - 1, true);
  return $columns;
}

function manage_img_column($column_name, $post_id) {
 if( $column_name == 'img' ) {
  echo get_the_post_thumbnail($post_id, 'thumbnail');
 }
 return $column_name;
}
Otinan
quelle
Mann danke, das ist eine wirklich gute Implementierung.
Rodrigo Zuluaga
Hy Otinane, gibt es eine Chance, dass dies nur für "Post-Einträge" gilt und nicht für den Rest des benutzerdefinierten Posts-Typs!
Rodrigo Zuluaga