web-dev-qa-db-ja.com

分類リスト表のカスタム列

分類編集画面に新しい列を追加するための次のコードがあります(edit-tags.php?taxonomy=book_place&post_type=books)。

function add_book_place_columns($columns){
    $columns['foo'] = 'Foo';
    return $columns;
}
add_filter('manage_edit-book_place_columns', 'add_book_place_columns');

function add_book_place_column_content($content){
    content = 'test';
    return $content;
}
add_filter('manage_book_place_custom_column', 'add_book_place_column_content');

動作していますが、add_book_place_column_content関数で現在の用語IDにアクセスする必要があります。どうやってやるの?

11
passatgt

manage_{TAXONOMY}_custom_columnフィルタフックは3つの引数を渡します。

  • $content
  • $column_name
  • $term_id

だからこれを試してみてください。

function add_book_place_column_content($content,$column_name,$term_id){
    $term= get_term($term_id, 'book_place');
    switch ($column_name) {
        case 'foo':
            //do your stuff here with $term or $term_id
            $content = 'test';
            break;
        default:
            break;
    }
    return $content;
}
add_filter('manage_book_place_custom_column', 'add_book_place_column_content',10,3);
18
Bainternet