Agregar columnas personalizadas a tipos de publicaciones personalizadas

12

Lo he hecho anteriormente, pero he olvidado el nombre del gancho y no puedo encontrarlo en ninguna parte ...

Lo que estoy tratando de hacer es agregar algunas columnas personalizadas en la lista de un tipo de publicación personalizada en el administrador.

Por ejemplo, en el administrador, haga clic en artículos , quiero agregar columnas personalizadas allí.

    
pregunta Chin Leung 23.01.2017 - 17:12

2 respuestas

32

Los enlaces para crear columnas personalizadas y sus datos asociados para un tipo de publicación personalizada son manage_{$post_type}_posts_columns y manage_{$post_type}_posts_custom_column respectivamente, donde {$post_type} es el nombre del tipo de publicación personalizada.

Este ejemplo de la documentación elimina la columna del autor y agrega una columna de taxonomía y metadatos:

// 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;

    }
}
    
respondido por el Dave Romsey 23.01.2017 - 17:27
0

No estoy seguro de si es el valor predeterminado de metadatos personalizados que desea mostrar como columnas, pero podría considerar usar este complemento gratuito que le permite agregar columnas para mostrar campos personalizados. enlace

La versión Pro incluso te permite agregar filtrado, clasificación y edición en línea a esas columnas.

    
respondido por el DGStefan 23.01.2017 - 20:12

Lea otras preguntas en las etiquetas