Un utente ha chiesto 👇
Ciao,
Volevo aggiungere ulteriori colonne alla mia mailing list personalizzata dopo aver creato un nuovo tipo di lavoro (“Viaggi” nel mio caso) in CPTUI e recuperare i dati di queste colonne dai campi personalizzati creati da ACF. Ho usato questo codice:
add_filter( 'manage_edit-trips_columns', 'my_edit_trips_columns' ) ;
function my_edit_trips_columns( $columns ) {
$columns = array(
'cb' => '<input type="checkbox" />',
'title' => __( 'Trip name' ),
'region' => __( 'Region' ),
'start_date' => __( 'Start date' ),
'date' => __( 'Date' )
);
return $columns;
}
add_action( 'manage_trips_posts_custom_column', 'my_manage_trips_columns', 10, 2 );
function my_manage_trips_columns( $column, $post_id ) {
global $post;
switch( $column ) {
case 'region' :
echo get_post_meta( $post_id , 'region' , true );
break;
case 'start_date' :
echo get_post_meta( $post_id , 'start_date' , true );
break;
}
}
Questo mostrava magnificamente le mie rispettive colonne e valori. Volevo anche una colonna per mostrare le tassonomie personalizzate. Ho creato le mie tassonomie personalizzate e ho selezionato l’impostazione “Mostra colonna amministratore” su True. Tuttavia, la colonna della tassonomia non è stata visualizzata quando ho disabilitato il codice sopra. C’è un modo per visualizzare le colonne personalizzate E anche la colonna della tassonomia personalizzata?
Autore del plugin
(@ tw2113)
2 anni, 2 mesi fa
Sto scommettendo su my_edit_trips_columns()
ottenere la funzione $columns
un array che contiene quella colonna tassonomica, ma poiché stai ridefinendo completamente l’array, ne stai restituendo uno che non esiste.
Forse prova invece qualcosa del genere, per sovrascrivere e allegare indici, senza ridefinire l’intero set.
$columns['title'] = __( 'Trip name' );
$columns['region'] = __( 'Region' );
$columns['start_date'] = __( 'Start date' );
Lanciatore di thread
(@osiak)
2 anni, 2 mesi fa
Non sono un bravo ragazzo JS – puoi aiutarmi a ridefinire l’intero codice e come / dove tagliare / incollare il tuo inserto?
Autore del plugin
(@ tw2113)
2 anni, 2 mesi fa
add_filter( 'manage_edit-trips_columns', 'my_edit_trips_columns' ) ;
function my_edit_trips_columns( $columns ) {
$columns['title'] = __( 'Trip name' );
$columns['region'] = __( 'Region' );
$columns['start_date'] = __( 'Start date' );
return $columns;
}
Questa risposta è stata modificata 2 anni, 2 mesi fa da. Autore del plugin
(@ tw2113)
2 anni, 2 mesi fa
Ho dovuto modificare un motivo per cui mi sono reso conto di aver copiato la riga add_filter sbagliata.
Lanciatore di thread
(@osiak)
2 anni, 2 mesi fa
Funziona benissimo! Tuttavia la mia colonna della data è ora pubblicata nel mezzo, subito dopo il nome. Qualche possibilità di farlo tornare come ultima colonna?
Autore del plugin
(@ tw2113)
2 anni, 2 mesi fa
Avrai bisogno di fare un po ‘di giocoleria per questo. Questo non è stato completamente testato, ma mi ha imitato in modo diverso.
add_filter( 'manage_edit-trips_columns', 'my_edit_trips_columns' ) ;
function my_edit_trips_columns( $columns ) {
// store value temporarily.
$date_val = $columns['date'];
// Unset original index.
unset( $columns['date'] );
$columns['title'] = __( 'Trip name' );
$columns['region'] = __( 'Region' );
$columns['start_date'] = __( 'Start date' );
$columns['date'] = $date_val;
return $columns;
}
Si presume che uno degli indici avrà sempre una “data”.
Lanciatore di thread
(@osiak)
2 anni, 2 mesi fa
La colonna ora non mostra una data …
Autore del plugin
(@ tw2113)
2 anni, 2 mesi fa
Non sono sicuro di cosa dirai con quei dati. Ecco un’immagine di un tipo di lavoro “portfolio” che ho prontamente disponibile, che mostra tutte le colonne proposte, utilizzando il mio codice sopra. Non ci sono valori per nulla, poiché al momento non ci sono messaggi 😀
Was this helpful?
0 / 0