Чтобы добавить столбец, например в категории постов, нужно воспользоваться фильтром manage_edit-{название таксономии}_columns:
function my_custom_taxonomy_columns( $columns )
{
$columns['my_term_id'] = 'ID категории';
return $columns;
}
add_filter('manage_edit-category_columns' , 'my_custom_taxonomy_columns');
Этот код добавит столбец в конец таблицы. Вот код для добавления столбца в начало таблицы:
function my_custom_taxonomy_columns( $columns )
{
$new_columns = array();
if ( isset( $columns['cb'] ) ) {
$new_columns['cb'] = $columns['cb'];
unset( $columns['cb'] );
}
$new_columns['my_term_id'] = 'Название столбца';
return array_merge( $new_columns, $columns );
}
add_filter('manage_edit-category_columns' , 'my_custom_taxonomy_columns');
Для добавления данных в строку таблицы воспользуемся фильтром manage_{название таксономии}_custom_column:
function my_custom_taxonomy_columns_content( $content, $column_name, $term_id )
{
if ( 'my_term_id' == $column_name ) {
$content = $term_id;
}
return $content;
}
add_filter( 'manage_category_custom_column', 'my_custom_taxonomy_columns_content', 10, 3 );
Добавим сортировку по возрастанию, или убыванию:
function register_my_custom_taxonomy_sortable( $newcolumn ) {
$newcolumn['my_term_id'] = 'my_term_id';
return $newcolumn;
}
add_filter( 'manage_edit-category_sortable_columns', 'register_my_custom_taxonomy_sortable' );
add_action( 'pre_get_terms', 'my_custom_taxonomy_orderby' );
function my_custom_taxonomy_orderby( $query ) {
if( ! is_admin() )
return;
$orderby = $_GET['orderby'];
if( 'my_term_id' == $orderby ) {
$query->query_vars['orderby'] = 'id';
}
}
Обновлено: 27.07.2017
Вам помогла эта статья? Оцените!