Como agregar nuevas columnas en los listados de posts en WordPress


Ejemplo de sencillo de como pintar nuevas columnas en el listado de entradas, o en un custom post type especifico en WordPress.

Lo primero es que este codigo se incluye en functions.php ( esto me lo han preguntado mas de una vez) o en un fichero aparte e incluirlo en functions como querais al final es lo mismo.

Por un lado tenemos que añadir la columna a nuestra tabla y luego por otro lado añadir el contenido que vamos a mostrar.

Para un custom post type

Como resumen en general lo que hacemos es con la funcion manage_post_column añadimos una columna en nuestro listado de post y con manage_post_custom_column añadimos la informacion que vamos a mostrar, una imagen un meta, ..

 

Ejemplo de como mostrar una columna nueva en  un custom post type  llamado project

// ADD NEW COLUMN
function EJEMPLO_columns_head($defaults) {
    $defaults['campo_a_mostrar'] = 'Campo a mostrar';
    return $defaults;
}

// SHOW FIELD
function EJEMPLO_columns_content($column_name, $post_ID) {
    echo "hola";
}

add_filter('manage_project_posts_columns', 'EJEMPLO_columns_head');
add_action('manage_project_posts_custom_column', 'EJEMPLO_columns_content', 10, 2);