Columna de imagen destacada en la lista de entradas del panel de administración

22 ago 2013, 15:10:48
Vistas: 20.8K
Votos: 10

Tengo un sitio de cliente que acepta imágenes de los usuarios como entradas. Para la moderación, estamos abriendo cada borrador de entrada, lo que obviamente lleva mucho tiempo si hay que moderar una gran cantidad de imágenes.

Entonces, ¿hay alguna manera de mostrar las imágenes destacadas de la entrada en la página de lista de entradas del administrador como una columna?

0
Todas las respuestas a la pregunta 4
10
14

Utiliza este hook para añadir una columna personalizada a la vista de lista de entradas/páginas en el administrador.

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'] = 'Imagen destacada';
    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;
}

Coloca este código en tu archivo functions.php

22 ago 2013 15:58:25
Comentarios

nada que mostrar

busyjax busyjax
22 ago 2013 19:20:10

¿Estás seguro de que tu publicación tiene imagen destacada? ¿Puedes mostrarme una captura de pantalla? Este código funciona bien para mí.

Mangesh Parte Mangesh Parte
22 ago 2013 21:22:05

http://i.imgur.com/UM67XYl.jpg aquí está

busyjax busyjax
22 ago 2013 21:41:21

Te pedí que mostraras una captura de pantalla de la imagen destacada en la publicación individual. Dónde la has subido. Es decir http://mervin.info/wp-content/uploads/2012/03/screenshot-1-300x209.png

Mangesh Parte Mangesh Parte
22 ago 2013 23:49:10

en realidad, había un plugin que estaba causando problemas

busyjax busyjax
25 ago 2013 13:28:36

Tuve que cambiar la segunda función a lo siguiente: echo get_the_post_thumbnail($post_id, 'thumbnail'); return true;

PNMG PNMG
9 jun 2014 22:39:12

Necesita que la segunda función muestre (echo) la imagen, no que la retorne (return).

Jake Jake
11 ago 2017 18:22:51

@busyjax ¿podrías ampliar la información? ¿Cuál era el problema y cómo lo resolviste?

Peter Kionga-Kamau Peter Kionga-Kamau
13 mar 2019 00:00:15

Quería mostrar una columna de miniaturas pequeñas que eran las imágenes destacadas de los posts, para así poder moderar los posts directamente desde la página de administración de entradas sin necesidad de abrirlos para editarlos.

busyjax busyjax
15 mar 2019 11:29:36

Esto funciona perfectamente, mejor que la respuesta de jnthnclrk que también funciona, pero elimina el resto de las columnas, esta las mantiene. ¡Saludos colega...

Rodrigo Zuluaga Rodrigo Zuluaga
5 abr 2019 23:49:26
Mostrar los 5 comentarios restantes
0
13

Esto es lo que estoy usando, armado a partir de fragmentos encontrados en línea... Utiliza un filtro en manage_posts_colummns para reorganizar los encabezados y una acción en manage_posts_custom_column para agregar los datos a nivel de fila.

function custom_columns( $columns ) {
    $columns = array(
        'cb' => '<input type="checkbox" />',
        'featured_image' => 'Imagen',
        'title' => 'Título',
        'comments' => '<span class="vers"><div title="Comentarios" class="comment-grey-bubble"></div></span>',
        'date' => 'Fecha'
     );
    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 ); 

También puedes usar esto en tipos de contenido personalizados filtrando en manage_CPTNAME_posts_columns.

22 ago 2013 15:41:28
2

Basado en el código de @Mangesh Parte, puedes tener la imagen destacada en la primera columna, antes del título.

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" => "Imagen destacada") + 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;
}
7 ago 2018 16:30:50
Comentarios

Hombre, gracias, esta es una implementación realmente buena.

Rodrigo Zuluaga Rodrigo Zuluaga
5 abr 2019 23:52:15

Hola Otinane, ¿hay alguna posibilidad de que esto solo se aplique a "Entradas de blog" y no al resto de los tipos de posts personalizados?

Rodrigo Zuluaga Rodrigo Zuluaga
17 abr 2019 03:04:22
0

Este código muestra cómo agregar la columna de imagen destacada a un tipo de publicación personalizada (CPT) llamado 'books'. Reemplaza en la primera línea la palabra 'books' con el slug de tu tipo de publicación personalizada.

add_filter('manage_books_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" => "Imagen destacada") + 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;
}

Puedes encontrar más información aquí https://codex.wordpress.org/Plugin_API/Action_Reference/manage_$post_type_posts_custom_column

12 ago 2020 14:08:15