Coloană cu imagini reprezentative în lista de articole din admin

22 aug. 2013, 15:10:48
Vizualizări: 20.8K
Voturi: 10

Am un site pentru client care acceptă imagini de la utilizatori sub formă de articole. Pentru moderare, deschidem fiecare articol în starea draft, ceea ce evident ia mult timp dacă trebuie moderate multe imagini.

Există vreo modalitate de a afișa imaginile reprezentative ale articolelor într-o coloană în pagina de listă a articolelor din admin?

0
Toate răspunsurile la întrebare 4
10
14

Folosește acest hook pentru a adăuga o coloană personalizată în lista de postări/pagini din administrare.

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'] = 'Imagine reprezentativă';
    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;
}

Pune acest cod în fișierul tău functions.php

22 aug. 2013 15:58:25
Comentarii

nimic de afișat

busyjax busyjax
22 aug. 2013 19:20:10

Ești sigur că articolul tău are imagine reprezentativă? Poți să-mi arăți o captură de ecran? Acest cod funcționează corect la mine.

Mangesh Parte Mangesh Parte
22 aug. 2013 21:22:05

http://i.imgur.com/UM67XYl.jpg aici este

busyjax busyjax
22 aug. 2013 21:41:21

Ți-am cerut să-mi arăți captura de ecran a imaginii reprezentative din articolul individual. Unde ai încărcat-o. Adică http://mervin.info/wp-content/uploads/2012/03/screenshot-1-300x209.png

Mangesh Parte Mangesh Parte
22 aug. 2013 23:49:10

de fapt, era un plugin care cauza probleme

busyjax busyjax
25 aug. 2013 13:28:36

A trebuit să schimb a doua funcție în următoarea: echo get_the_post_thumbnail($post_id, 'thumbnail'); return true;

PNMG PNMG
9 iun. 2014 22:39:12

Este necesar ca a doua funcție să afișeze (echo) imaginea, nu să o returneze.

Jake Jake
11 aug. 2017 18:22:51

@busyjax poți să elaborezi, te rog? Care a fost problema și cum ai rezolvat-o?

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

Am dorit să afișez o coloană cu miniaturi de imagini care erau imaginile reprezentative ale postărilor, astfel încât, fără a deschide postarea pentru editare, să fie ușor să moderăm postările direct din pagina de administrare a postărilor.

busyjax busyjax
15 mar. 2019 11:29:36

Funcționează perfect, mai bine decât răspunsul lui jnthnclrk care funcționează și el, dar acesta elimină restul coloanelor, în timp ce soluția ta le păstrează. Bravo, prietene...

Rodrigo Zuluaga Rodrigo Zuluaga
5 apr. 2019 23:49:26
Arată celelalte 5 comentarii
0
13

Aceasta este soluția pe care o folosesc, creată din fragmente găsite online... Utilizează un filtru pe manage_posts_colummns pentru a rearanja anteturile și o acțiune pe manage_posts_custom_column pentru a adăuga datele la nivel de rând.

function custom_columns( $columns ) {
    $columns = array(
        'cb' => '<input type="checkbox" />',
        'featured_image' => 'Imagine',
        'title' => 'Titlu',
        'comments' => '<span class="vers"><div title="Comentarii" class="comment-grey-bubble"></div></span>',
        'date' => 'Data'
     );
    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 ); 

De asemenea, poți folosi acest lucru și pentru tipurile personalizate de postări (custom post types) prin filtrarea pe manage_CPTNAME_posts_columns.

22 aug. 2013 15:41:28
2

Bazat pe codul lui @Mangesh Parte, poți avea imaginea reprezentativă în prima coloană, înainte de titlu.

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" => "Imagine reprezentativă") + 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 aug. 2018 16:30:50
Comentarii

Mulțumesc, aceasta este o implementare foarte bună.

Rodrigo Zuluaga Rodrigo Zuluaga
5 apr. 2019 23:52:15

Salut Otinane, există vreo posibilitate ca acest lucru să se aplice doar la "Postări" și nu la restul tipurilor de postări personalizate?

Rodrigo Zuluaga Rodrigo Zuluaga
17 apr. 2019 03:04:22
0

Acest cod arată cum să adăugați coloana pentru imaginea reprezentativă la un tip de postare personalizat (CPT) 'books'. Înlocuiți în prima linie cuvântul 'books' cu slug-ul tipului vostru de postare personalizată.

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" => "Imagine reprezentativă") + 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;
}

Puteți găsi mai multe informații aici https://codex.wordpress.org/Plugin_API/Action_Reference/manage_$post_type_posts_custom_column

12 aug. 2020 14:08:15