web-dev-qa-db-fra.com

Ajout de colonnes personnalisées à des types d'article personnalisés

J'ai déjà fait cela auparavant, mais j'ai oublié le nom du crochet et je ne le trouve nulle part ...

Ce que j'essaie de faire est d'ajouter des colonnes personnalisées dans la liste d'un type de publication personnalisé dans l'administrateur.

Par exemple, dans l’administrateur, cliquez sur articles , je veux y ajouter une colonne personnalisée.

21
Chin Leung

Les crochets permettant de créer des colonnes personnalisées et leurs données associées pour un type de publication personnalisé sont respectivement manage_{$post_type}_posts_columns et manage_{$post_type}_posts_custom_column , où {$post_type} est le nom du type de publication personnalisé.

Cet exemple de la documentation supprime la colonne author et ajoute une colonne taxonomy et meta data:

// Add the custom columns to the book post type:
add_filter( 'manage_book_posts_columns', 'set_custom_edit_book_columns' );
function set_custom_edit_book_columns($columns) {
    unset( $columns['author'] );
    $columns['book_author'] = __( 'Author', 'your_text_domain' );
    $columns['publisher'] = __( 'Publisher', 'your_text_domain' );

    return $columns;
}

// Add the data to the custom columns for the book post type:
add_action( 'manage_book_posts_custom_column' , 'custom_book_column', 10, 2 );
function custom_book_column( $column, $post_id ) {
    switch ( $column ) {

        case 'book_author' :
            $terms = get_the_term_list( $post_id , 'book_author' , '' , ',' , '' );
            if ( is_string( $terms ) )
                echo $terms;
            else
                _e( 'Unable to get author(s)', 'your_text_domain' );
            break;

        case 'publisher' :
            echo get_post_meta( $post_id , 'publisher' , true ); 
            break;

    }
}
48
Dave Romsey

Je ne sais pas s'il s'agit de métadonnées personnalisées par défaut que vous souhaitez afficher sous forme de colonnes, mais vous pouvez envisager d'utiliser ce plug-in gratuit vous permettant d'ajouter des colonnes pour afficher des champs personnalisés. https://wordpress.org/plugins/codepress-admin-columns/

La version pro vous permet même d’ajouter du filtrage, du tri et des modifications en ligne à ces colonnes.

0
DGStefan