¿Cómo añadir la categoría a la columna de administración para un tipo de entrada personalizada?
He creado un tipo de entrada personalizada llamada "article" y la información mostrada en la pantalla de resumen del administrador es escasa. Pude añadir la imagen destacada usando http://codex.wordpress.org/Plugin_API/Action_Reference/manage_posts_custom_column desde un tutorial.
Sin embargo, me gustaría poder obtener una vista general de las categorías y subcategorías que se han asignado a estas entradas en la página de administración, es decir, añadir una columna para esa parte.
Este es el código que he utilizado para registrar la taxonomía en el código de tipos de entrada personalizadas

La función register_taxonomy tiene un parámetro llamado show_admin_column
que manejará la adición de una columna. ¿Has probado eso?
ejemplo:
register_taxonomy(
'my_tax',
'post_type',
array(
'label' => 'Mi Taxonomía',
'show_admin_column' => true,
)
);

Después de buscar, he encontrado una solución usando el filtro manage_edit-${post_type}_columns
y la acción manage_${post_type}_posts_custom_column
.
Las columnas se crean con el filtro y luego la columna se rellena con la acción. Supongo que se podrían agregar columnas adicionales y poblarlas fácilmente usando las ideas en este enlace http://justintadlock.com/archives/2011/06/27/custom-columns-for-custom-post-types
add_filter('manage_edit-article_columns', 'my_columns');
function my_columns($columns) {
$columns['article_category'] = 'Categoría';
return $columns;
}
add_action( 'manage_article_posts_custom_column', 'my_manage_article_columns', 10, 2 );
function my_manage_article_columns( $column, $post_id ) {
global $post;
switch( $column ) {
/* Si se muestra la columna 'article_category'. */
case 'article_category' :
/* Obtener los géneros para el post. */
$terms = get_the_terms( $post_id, 'article_category' );
/* Si se encontraron términos. */
if ( !empty( $terms ) ) {
$out = array();
/* Recorrer cada término, enlazando a la página 'edit posts' para el término específico. */
foreach ( $terms as $term ) {
$out[] = sprintf( '<a href="%s">%s</a>',
esc_url( add_query_arg( array( 'post_type' => $post->post_type, 'article_category' => $term->slug ), 'edit.php' ) ),
esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'article_category', 'display' ) )
);
}
/* Unir los términos, separándolos con una coma. */
echo join( ', ', $out );
}
/* Si no se encontraron términos, mostrar un mensaje por defecto. */
else {
_e( 'Sin Artículos' );
}
break;
/* Simplemente salir del switch para todo lo demás. */
default :
break;
}
}

Casi la misma pregunta: Quiero una columna extra "categoría" en la pantalla de administración. "categoría" es una taxonomía creada con Divi Machine. El slug es art_category En el functions.php de mi tema hijo logré que los campos ACF sean visibles e incluso ordenables, pero esos son campos ACF. La columna Categoría es visible. Sin embargo, no muestra valores.
El problema debe estar aquí:
if ( 'artcategory' === $column ) {
$artcategory = get_post_meta( $post_id, 'art_category', true );
if ( ! $artcategory ) {
_e( 'n/b' ); // n/b significa "no disponible"
} else {
echo $artcategory;
}
}
¿Qué estoy haciendo mal?

Esto realmente no responde a la pregunta. Si tienes una pregunta diferente, puedes formularla haciendo clic en Preguntar. Para recibir una notificación cuando esta pregunta obtenga nuevas respuestas, puedes seguir esta pregunta. Una vez que tengas suficiente reputación, también puedes añadir una recompensa para llamar más la atención sobre esta pregunta. - Desde la Revisión
