web-dev-qa-db-fra.com

Ajouter une colonne au tableau des pages

Salut à tous, j'essaie de trouver la section dans la page edit.php où elle remplit la table avec toutes mes pages actuelles. Ce que je veux faire, c'est ajouter une autre colonne à la table afin de lancer une page latérale pour changer une image.

enter image description here

Quelqu'un pourrait-il m'indiquer le code qui remplit la table?

Merci!

David

3
StealthRT

Voici comment je l'ai fait:

/****** Add Thumbnails in Manage Posts/Pages List ******/
if ( !function_exists('AddThumbColumn') && function_exists('add_theme_support') ) {
    // for post and page
    add_theme_support('post-thumbnails', array( 'post', 'page' ) );
    function AddThumbColumn($cols) {
        $cols['thumbnail'] = __('Thumbnail');
        return $cols;
    }
    function AddThumbValue($column_name, $post_id) {
            $width = (int) 60;
            $height = (int) 60;
            if ( 'thumbnail' == $column_name ) {
                // thumbnail of WP 2.9
                $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
                // image from gallery
                $attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );
                if ($thumbnail_id)
                    $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
                elseif ($attachments) {
                    foreach ( $attachments as $attachment_id => $attachment ) {
                        $thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
                    }
                }
                    if ( isset($thumb) && $thumb ) {
                        echo $thumb;
                    } else {
                        echo __('None');
                    }
            }
    }
    // for posts
    add_filter( 'manage_posts_columns', 'AddThumbColumn' );
    add_action( 'manage_posts_custom_column', 'AddThumbValue', 10, 2 );
    // for pages
    add_filter( 'manage_pages_columns', 'AddThumbColumn' );
    add_action( 'manage_pages_custom_column', 'AddThumbValue', 10, 2 );
}

Et le code ci-dessus est tiré de cette page: http://wpmu.org/how-to-add-post-thumbnails-to-the-wordpress-post-and-page-management-screens/

1
StealthRT

Également un tutoriel avec une solution pour page et publier pour ajouter une vignette dans une colonne: http://wpengineer.com/1960/display-post-thumbnail-post-page-overview/ Changez le contenu de la vignette en votre contenu et enlever les crochets pour post:

// for posts
// add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
// add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );
// for pages
add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );

l'identifiant de la page dans le backend est dans le crochet et vous pouvez ajouter à toutes les tables dans le backend de nouvelles colonnes, ainsi qu'un exemple pour Multisite Table: http://wpengineer.com/2188/view-blog-id-in-wordpress -multisite/

    add_action( 'manage_sites_custom_column', array( $this, 'add_columns' ), 10, 2 );
    add_action( 'manage_blogs_custom_column', array( $this, 'add_columns' ), 10, 2 );
2
bueltge