Agregar y ordenar columnas Admin WordPress

agregar y ordenar columnas admin wordpressColumnas Admin WordPress

Para poder agregar y ordenar columnas en las entradas o páginas en el Administrador de WordPress, podemos usar el siguiente código en el archivo functions.php de nuestro tema activo.
En este caso mostraremos el ID y la imágen destacada en las entradas y páginas antes de la columna Autor.

 

/* Para las entradas o posts */

add_action( 'manage_posts_custom_column', 'mi_contenido_nueva_columna', 5, 2 );

/* Para las páginas */

add_filter( 'manage_pages_columns', 'mi_nueva_columna', 5 );
add_action( 'manage_pages_custom_column', 'mi_contenido_nueva_columna', 5, 2 );

/* Título de la columna */

function mi_nueva_columna( $columns ) {
$columns['my_id'] = 'Id';
return $columns;
}

/* Contenido de la columna */

function mi_contenido_nueva_columna( $column, $id ) {
if( 'my_id' == $column ) {
echo $id;
}
}

/* Agregar una columna con la imágen principal : Cambiando el tamaño de la imagen proporcionalmente (sin distorsionarla): */

add_image_size( 'mi-imagen-principal', 120, 120, false );

/* Agregar en las entradas o posts las columnas de la imágen principal*/

add_filter('manage_posts_columns', 'mostrar_admin_imagen_miniatura', 2);

/* Agregar en las páginas las columnas de la imágen principal*/

add_filter('manage_pages_columns', 'mostrar_admin_imagen_miniatura', 2);

/* Título de la columna Imágen principal*/

function mostrar_admin_imagen_miniatura($show_columns){
$show_columns['show_thumb'] = __('Imágen principal');
return $show_columns;
}

/* Contenido de las imágen en las entradas o posts */

add_action('manage_posts_custom_column', 'ver_contenido_columna_imágen_miniatura', 5, 2);

/* Contenido de las imágen en las páginas */

add_action('manage_pages_custom_column', 'ver_contenido_columna_imágen_miniatura', 5, 2);

/* Aquí mostramos la miniatura */

function ver_contenido_columna_imágen_miniatura($show_columns, $show_id){
$sw=0;
switch($show_columns){
case 'show_thumb':   /* Si la columna es la de la imágen */
if (has_post_thumbnail()) { /* Si el post o página tiene la imágen miniatura*/
echo the_post_thumbnail( 'mi-imagen-principal' );
}else{	/* Si no muetra una imágen en este caso un ? */
echo '<img src="https://www.edmontoncorporatechallenge.com/Sports%20Icons/unknown-challenge.png" width="34">';
}
break;			
}
}

/* Ordenamos las columnas en las entradas y páginas */

add_filter('manage_posts_columns', 'ordenar_columna');
add_filter('manage_pages_columns', 'ordenar_columna');
function ordenar_columna($columns) {
$n_columns = array();
$before = 'author'; /* Movemos la columna antes de la columna author */
foreach($columns as $key => $value) {
if ($key==$before){
$n_columns['my_id'] = ''; 
$n_columns['show_thumb'] = ''; 
}
$n_columns[$key] = $value;
}
return $n_columns;
}

 

/* Para las entradas o posts */
add_filter( 'manage_posts_columns', 'mi_nueva_columna', 5 );
add_action( 'manage_posts_custom_column', 'mi_contenido_nueva_columna', 5, 2 );
/* Para las páginas */
add_filter( 'manage_pages_columns', 'mi_nueva_columna', 5 );
add_action( 'manage_pages_custom_column', 'mi_contenido_nueva_columna', 5, 2 );
/* Título de la columna */
function mi_nueva_columna( $columns ) {
$columns['my_id'] = 'Id';
return $columns;
}
/* Contenido de la columna */
function mi_contenido_nueva_columna( $column, $id ) {
if( 'my_id' == $column ) {
echo $id;
}
}
/*  Agregar una columna con la imágen principal : Cambiando el tamaño de la imagen proporcionalmente (sin distorsionarla):  */
add_image_size( 'mi-imagen-principal', 120, 120, false );
/* Agregar en las entradas o posts las columnas de la imágen principal*/
add_filter('manage_posts_columns', 'mostrar_admin_imagen_miniatura', 2);
/* Agregar en las páginas las columnas de la imágen principal*/
add_filter('manage_pages_columns', 'mostrar_admin_imagen_miniatura', 2);
/* Título de la columna Imágen principal*/
function mostrar_admin_imagen_miniatura($show_columns){
$show_columns['show_thumb'] = __('Imágen principal');
return $show_columns;
}
/* Contenido de las imágen en las entradas o posts   */
add_action('manage_posts_custom_column', 'ver_contenido_columna_imágen_miniatura', 5, 2);
/* Contenido de las imágen en las páginas  */
add_action('manage_pages_custom_column', 'ver_contenido_columna_imágen_miniatura', 5, 2);
/* Aquí mostramos la miniatura */
function ver_contenido_columna_imágen_miniatura($show_columns, $show_id){
$sw=0;
switch($show_columns){
case 'show_thumb':   /* Si la columna es la de la imágen */
if (has_post_thumbnail()) { /* Si el post o página tiene la imágen miniatura*/
echo the_post_thumbnail( 'mi-imagen-principal' );
}else{	/* Si no muetra una imágen en este caso un ? */
echo '<img src="https://www.edmontoncorporatechallenge.com/Sports%20Icons/unknown-challenge.png" width="34">';
}
break;			
}
}
/* Ordenamos las columnas en entradas o posts   */
add_filter('manage_posts_columns', 'ordenar_columna');
/*  Ordenamos las columnas en las páginas   */
add_filter('manage_pages_columns', 'ordenar_columna');
function ordenar_columna($columns) {
$n_columns = array();
$before = 'author'; /* Movemos la columna antes de la columna author */
foreach($columns as $key => $value) {
if ($key==$before){
$n_columns['my_id'] = ''; 
$n_columns['show_thumb'] = ''; 
}
$n_columns[$key] = $value;
}
return $n_columns;
}

¡¡¡ CLICK PARA VER TODO EL CÓDIGO SEGUIDO !!!

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *