Bonjour à tous,
J'ai un petit soucis, j'ai créé un custom post type pour une galerie photo sous wordpress. J'ai voulu rajouter une colonne "aperçu" dans l'admin du custom post type. Voici mon code,
<?php
add_action('init', 'register_galerie');
function register_galerie() {
$labels = array(
'name' => 'Galerie',
'singular_name' => 'Photos',
'add_new' => 'Ajouter photo',
'add_new_item' => 'Ajouter nouvelle photo',
'edit_item' => 'Editer photo',
'new_item' => 'Nouvelle Photo',
'view_item' => 'Voir photo',
'search_items' => 'Rechercher photo',
'not_found' => 'Pas de photo',
'not_found_in_trash' => 'Pas de photo dans la poubelle',
'parent_item_colon' => '',
'menu_name' => 'Galerie photo',
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title','thumbnail')
);
register_post_type('galerie',$args);
}
add_action("manage_posts_custom_column", "galerie_custom_columns");
add_filter("manage_edit-galerie_columns", "galerie_edit_columns");
function galerie_edit_columns($columns){
$columns = array(
"cb" => "<input type=\"checkbox\" />",
"thumbnail" => "Aperçu",
"title" => "Titre de la photo",
"date" => "Date",
);
return $columns;
}
function galerie_custom_columns($column){
global $post;
switch ($column) {
case "thumbnail":
the_post_thumbnail('thumb');
break;
case "date":
the_date('j,F,Y');
break;
}
}
Ca fonctionne nikel, mais problème dans mon aperçu, la photo apparait 3 fois et je ne comprends pas du tout pourquoi, c'est un peu couillon tout de même.
DEMO
Avez vous une solution ?
Je crois que j'ai compris, j'ai 3 custom posts type différents, ou j'ai mis pour chacun d'eux un nouveau add_action et add_filter pour les colonnes.
CUSTOM POST TYPE GALERIE
add_action("manage_posts_custom_column", "galerie_custom_columns");
add_filter("manage_edit-galerie_columns", "galerie_edit_columns");
CUSTOM POST TYPE SLIDESHOW
add_action("manage_posts_custom_column", "slideshow_custom_columns");
add_filter("manage_edit-slideshow_columns", "slideshow_edit_columns");
CUSTOM POST TYPE SLIDESHOW2
add_action("manage_posts_custom_column", "slideshow2_custom_columns");
add_filter("manage_edit-slideshow2_columns", "slideshow2_edit_columns");
Quand j'en supprime un, il y a une photo en moins qui apparait dans aperçu.
Cela ne doit pas être possible, mais comment contourner ce problème ?
Merci