Coloane personalizate pentru tabelul listei de taxonomii
29 dec. 2012, 23:52:46
Vizualizări: 22.1K
Voturi: 16
Am următorul cod pentru a adăuga o coloană nouă în ecranul de editare a taxonomiei (edit-tags.php?taxonomy=book_place&post_type=books
)
// Adaugă o nouă coloană numită 'foo'
function add_book_place_columns( $columns ) {
$columns['foo'] = 'Foo';
return $columns;
}
add_filter( 'manage_edit-book_place_columns', 'add_book_place_columns' );
// Adaugă conținut în coloana personalizată
function add_book_place_column_content( $content ) {
$content = 'test';
return $content;
}
add_filter( 'manage_book_place_custom_column', 'add_book_place_column_content' );
Funcționează, dar am nevoie să accesez ID-ul termenului curent în funcția add_book_place_column_content
. Cum pot face acest lucru?

passatgt
3.4K
Toate răspunsurile la întrebare
1
1
Filtrul manage_{TAXONOMY}_custom_column
primește 3 argumente:
$content
$column_name
$term_id
Încearcă astfel:
function add_book_place_column_content( $content, $column_name, $term_id ) {
$term= get_term( $term_id, 'book_place' );
switch ( $column_name ) {
case 'foo':
// Fă aici ce ai nevoie cu $term sau $term_id
$content = 'test';
break;
default:
break;
}
return $content;
}
add_filter( 'manage_book_place_custom_column', 'add_book_place_column_content', 10, 3 );

Bainternet
67.7K
30 dec. 2012 01:24:26
Comentarii
Pentru cei care, ca mine, ar putea să nu observe - numerele 10 și 3 sunt cheie. 10 reprezintă prioritatea și 3 este numărul de argumente. Dacă nu specificați 3, va fi transmis doar primul argument - fără termen. Dacă folosiți o clasă: add_filter('manage_CUSTOMTAX_custom_column', array($this, 'handler_function'), 10, 3);

20 apr. 2024 20:20:14
Întrebări similare
4
răspunsuri
5
răspunsuri
1
răspunsuri