Intereting Posts
Как добавить новый размер эскиза только к определенному типу сообщений? Видео Youtube в пост-WordPress 4.7 Запрос нескольких пользовательских таксономий Получить все должности категории не в Изменить фильтр сообщений, чтобы установить индивидуальное количество сообщений на странице и исключить дочерние сообщения Что означают эти ошибки phpMyAdmin для моих баз данных WordPress? Как применить CSS на странице темы? Разрешить доступ роли администратора к пользовательским возможностям Как получить дату создания публикации? Требуется больше полей для страницы защиты паролем Как правильно отобразить исключение или эхо-строку после публикации в плагине? Пользовательский тип почтового типа Удаление ссылки '<a>' из '<li>' на meta_value в пользовательских feilds file_exists () действует странно Несколько сайтов WordPress с использованием одной и той же базы данных – как отключить плагин для одного сайта?

Как добавить идентификатор категории на страницу администратора

Я хочу добавить идентификатор категорий на страницу администратора. Я называю это для своих functions.php : require_once('includes/categories_custom_id.php'); Часть кода:

 function categoriesColumnsHeader($columns) { $columns['catID'] = __('ID'); return $columns; } add_filter( 'manage_categories_columns', 'categoriesColumnsHeader' ); function categoriesColumnsRow($argument, $columnName, $categoryID){ if($columnName == 'catID'){ return $categoryID; } } add_filter( 'manage_categories_custom_column', 'categoriesColumnsRow', 10, 3 ); 

Но это не сработает. Любая идея, как это сделать?

Заранее спасибо.

Solutions Collecting From Web of "Как добавить идентификатор категории на страницу администратора"

Ключами для таксономий являются:

  • "manage_edit-${taxonomy}_columns" для заголовка
  • "manage_edit-${taxonomy}_sortable_columns" чтобы "manage_edit-${taxonomy}_sortable_columns" столбцы
  • "manage_${taxonomy}_custom_column" для содержимого ячейки

Чтобы поймать все таксономии, напишите:

 foreach ( get_taxonomies() as $taxonomy ) { add_action( "manage_edit-${taxonomy}_columns", 't5_add_col' ); add_filter( "manage_edit-${taxonomy}_sortable_columns", 't5_add_col' ); add_filter( "manage_${taxonomy}_custom_column", 't5_show_id', 10, 3 ); } add_action( 'admin_print_styles-edit-tags.php', 't5_tax_id_style' ); function t5_add_col( $columns ) { return $columns + array ( 'tax_id' => 'ID' ); } function t5_show_id( $v, $name, $id ) { return 'tax_id' === $name ? $id : $v; } function t5_tax_id_style() { print '<style>#tax_id{width:4em}</style>'; } 

У вас было почти все в порядке, но имена крючков, откуда вы их взяли?

Ниже приведены правильные. Я добавляю две дополнительные функции: один будет добавлять наш столбец в качестве первого (вместо последнего, я думаю, это имеет смысл для столбца ID). И второе – это простое исправление CSS для ширины столбца.

Код, основанный на этом Q & A: Multisite – Защита категорий от удаления?

 add_filter( 'manage_edit-category_columns', 'wpse_77532_cat_edit_columns' ); add_filter( 'manage_category_custom_column', 'wpse_77532_cat_custom_columns', 10, 3 ); add_action( 'admin_head-edit-tags.php', 'wpse_77532_column_width' ); /** * Register the ID column */ function wpse_77532_cat_edit_columns( $columns ) { $in = array( "cat_id" => "ID" ); $columns = wpse_77532_array_push_after( $columns, $in, 0 ); return $columns; } /** * Print the ID column */ function wpse_77532_cat_custom_columns( $value, $name, $cat_id ) { if( 'cat_id' == $name ) echo $cat_id; } /** * CSS to reduce the column width */ function wpse_77532_column_width() { // Tags page, exit earlier if( 'category' != $_GET['taxonomy'] ) return; echo '<style>.column-cat_id {width:3%}</style>'; } /** * Insert an element at the beggining of the array */ function wpse_77532_array_push_after( $src, $in, $pos ) { if ( is_int( $pos ) ) $R = array_merge( array_slice( $src, 0, $pos + 1 ), $in, array_slice( $src, $pos + 1 ) ); else { foreach ( $src as $k => $v ) { $R[$k] = $v; if ( $k == $pos ) $R = array_merge( $R, $in ); } } return $R; } 

Результат:

столбец id для категорий