Colonnes personnalisées dans la liste de page, post et CPT

Publié

dans

par

Étiquettes :


Ajout de colonne


// manage_[post_type]_posts_columns
// dans la liste des posts
function wp_posts_colonne($columns) {
    return array_merge($columns,
        array(
            'thumb' => __('Miniature')
        ));
}
add_filter('manage_posts_columns' , 'wp_posts_colonne');

// dans la liste des catégories
function wp_catecory_colonne($columns) {
    return array_merge($columns,
        array(
            'color' => __('Couleur')
        ));
}
add_filter('manage_edit-category_columns' , 'wp_catecory_colonne');

// dans la liste d'un CTP
function wp_catecory_colonne($columns) {
    return array_merge($columns,
        array(
            'id_concept' => __('id'),
        ));
}
add_filter('manage_concepts_posts_columns' , 'wp_catecory_colonne');

Ajout de contenu dans la colonne


// manage_[post_type]_posts_custom_column

// dans posts - ajout de la miniature
function data_colonne($name) {
    global $post;
    switch ($name) {
        case 'thumb':
            if(has_post_thumbnail($post->ID)) { ?>
                <a href="<?php the_permalink(); ?>" target="_blank">
                    <?php the_post_thumbnail(array(70,70));?>
                </a>
            <?php } else {
                echo "Aucune";
            }
            break;
    }
}
add_action('manage_posts_custom_column', 'data_colonne');

// dans un CPT - ajout de l'ID
function data_colonne($name) {
    global $post;
    switch ($name) {
        case 'id_concept':
            echo '<span>'.$post->ID.'</span>';
            break;
    }
}
add_action('manage_concepts_posts_custom_column', 'data_colonne');

// dans catégories d'articles - ajout couleur (ACF)
function data_category_colonne( $content, $column_name, $term_id ) {
    $term= get_term($term_id, 'category');
    $color = get_field('couleur', $term);
    switch ($column_name) {
        case 'color':
            if($color) {
                $content = '<span style="padding:3px;background-color:'.$color.'">'.$color.'</span>';
            } else {
                $content = '';
            }
            break;
    }
    return $content;
}
add_filter('manage_category_custom_column', 'data_category_colonne', 10, 3);