Saltear al contenido principal

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 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…

Volver arriba