Como añadir columnas personalizadas en el admin de WordPress
De manera nativa, WordPress te da la posibilidad de administrar las columnas que tienes en tu área privada. En esta entrada, voy a explicarte las diferentes opciones que conozco con las que modificar las columnas que aparecen en el backend de wordpress.
Añadir columnas por medio del Panel nativo
En muchas ocasiones, nos pasa desapercibido: el panel de «Opciones de Pantalla». Con él, puedes elegir las columnas que mostrar u ocultar, dependiendo del tipo de post. Tambien pueden aparecer opciones adicionales, insertadas por alguno de los plugins que tenemos instalados; por poner un ejemplo, el conocidísimo plugin Yoast, que te saca sus propias opciones.
Añadir columnas con Plugin
Si necesitamos sacar otras columnas, podemos hacerlos con varios plugins. Para mí el más completo se llama»Admin Columns» Este plugin permite incluir campos personalizados, imágenes destacadas, taxonomías personalizadas, cantidad de palabras, tiempo estimado de lectura, y un largo etcétera.
Añadir columnas con Código
Cuando con los plugins no es suficiente, por ejemplo, cuando necesitamos elaborar el contenido, tenemos a nuestra disposición los hooks manage_posts_columns y manage_posts_custom_column. Con ellos, podemos enganchar nuestras funciones con las del propio core de wordpress.
//Con esto, añades una nueva columna al admin
function my_columna_destacada($defaults) {
$defaults[‘featured_image’] = ‘Imagen Destacada’; //Este es el nombre que se va a ver
return $defaults;
}
add_filter(‘manage_posts_columns’, ‘my_columna_destacada’);
Con esta función, defines la cantidad de columnas que establecemos. Luego, la agregamos con add_filter
//Luego, muestra el contenido de la anterior función
function contenido_imagen_destacada($column_name, $post_ID) {
if ($column_name == 'featured_image') {
$post_thumbnail_id = get_post_thumbnail_id($post_ID);
if ($post_thumbnail_id) {
$post_thumbnail_img = wp_get_attachment_image_src($post_thumbnail_id, array(50,50));
if($post_thumbnail_img[0]){
echo '';
}
}
}
}
add_action('manage_posts_custom_column', 'contenido_imagen_destacada', 10, 2);
Esto se puede complicar lo que sea necesario, para llegar hasta donde haga falta…