web-dev-qa-db-fra.com

Poster la colonne de l'image sélectionnée sur la page de liste des publications de l'administrateur

J'ai un site client qui accepte les images des utilisateurs en tant que messages. Pour la modération, nous ouvrons chaque brouillon, ce qui prend évidemment beaucoup de temps si un nombre considérable d’images est modéré.

Alors, y at-il un moyen de montrer les images en vedette de la publication sur la page de liste des publications de l’administrateur sous forme de colonne?

7
busyjax

C’est ce que j’utilise, cobbled à partir d’extraits trouvés en ligne ... Il utilise un filtre sur manage_posts_colummns pour modifier l’en-tête et une action sur manage_posts_custom_column pour ajouter les données au niveau de la ligne.

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 ); 

Vous pouvez également l'utiliser sur des types de publication personnalisés en filtrant sur manage_CPTNAME_posts_columns.

11
jnthnclrk

Utilisez ce crochet pour ajouter une colonne personnalisée à la vue poste/page de l'administrateur.

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;
}

Mettez ce code dans votre functions.php

7
Mangesh Parte

Basé sur le code @Mangesh Parte, vous pouvez avoir l’image sélectionnée dans la première colonne, avant le titre.

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;
}
2
otinane