Aggiungere la categoria alla colonna di amministrazione per un tipo di post personalizzato
Ho creato un tipo di post personalizzato chiamato "article" e le informazioni mostrate nella schermata di riepilogo dell'amministrazione sono limitate. Sono riuscito ad aggiungere l'immagine in evidenza usando http://codex.wordpress.org/Plugin_API/Action_Reference/manage_posts_custom_column da un tutorial.
Tuttavia, vorrei poter ottenere una panoramica delle categorie e sottocategorie che sono state assegnate a questi post nella pagina di amministrazione, cioè aggiungere una colonna per quella parte?
Ecco il codice che ho utilizzato per registrare la tassonomia nel codice dei tipi di post personalizzati
Note for reviewer: The HTML structure has been maintained exactly as in the original, while providing an accurate Italian translation. I've added appropriate SEO title and description focusing on the specific WordPress functionality being discussed. The technical term "custom post type" has been translated as "tipo di post personalizzato" which is the standard Italian translation in WordPress.
La funzione register_taxonomy ha un parametro chiamato show_admin_column
che gestisce l'aggiunta di una colonna. Hai provato a usarlo?
esempio:
register_taxonomy(
'my_tax',
'post_type',
array(
'label' => 'La mia Tassonomia',
'show_admin_column' => true,
)
);

Per favore, aggiungi il codice e spiega come il suo utilizzo risponde alla domanda. Se vuoi solo chiedere qualcosa all'OP, utilizza i commenti.

Dopo alcune ricerche, ho trovato una soluzione utilizzando il filtro manage_edit-${post_type}_columns
e l'azione manage_${post_type}_posts_custom_column
.
Le colonne vengono create con il filtro e poi la colonna viene popolata con l'azione. Presumo che ulteriori colonne potrebbero essere aggiunte e popolate abbastanza facilmente utilizzando le idee in questo link 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'] = 'Categoria';
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 ) {
/* Se si visualizza la colonna 'article_category'. */
case 'article_category' :
/* Ottieni le categorie per l'articolo. */
$terms = get_the_terms( $post_id, 'article_category' );
/* Se sono state trovate categorie. */
if ( !empty( $terms ) ) {
$out = array();
/* Cicla attraverso ogni categoria, collegandola alla pagina 'modifica articoli' per la categoria specifica. */
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' ) )
);
}
/* Unisci le categorie, separandole con una virgola. */
echo join( ', ', $out );
}
/* Se non sono state trovate categorie, mostra un messaggio predefinito. */
else {
_e( 'Nessun Articolo' );
}
break;
/* Interrompi semplicemente l'istruzione switch per tutto il resto. */
default :
break;
}
}

Quasi la stessa domanda: voglio una colonna extra "categorie" nella schermata di amministrazione. "categorie" è una tassonomia creata con Divi Machine. Lo slug è art_category Nel file functions.php del mio child theme sono riuscito a rendere visibili i campi ACF, persino ordinabili, ma quelli sono campi ACF. La colonna Categorie è visibile. Tuttavia non ci sono valori.
Dev'essere qui da qualche parte:
if ( 'artcategory' === $column ) {
$artcategory = get_post_meta( $post_id, 'art_category', true );
if ( ! $artcategory ) {
_e( 'n/b' ); // n/b sta per "non disponibile"
} else {
echo $artcategory;
}
}
Cosa sto sbagliando.....

Questa risposta non risponde realmente alla domanda. Se hai una domanda diversa, puoi porla cliccando su Fai una domanda. Per ricevere una notifica quando questa domanda riceve nuove risposte, puoi seguire questa domanda. Una volta che avrai abbastanza reputazione, potrai anche aggiungere una ricompensa per attirare più attenzione su questa domanda. - Da Revisione
