Intereting Posts
Как отключить учетную запись пользователя? query_posts -> get page_id из настраиваемого поля Отображение данных формы Gravity на странице WordPress Ресурс был предварительно загружен с использованием предварительной загрузки ссылок, но не использовался в течение нескольких секунд Как я могу аутентифицировать пользователей WordPress автоматически в Moodle? URL-адрес почтового ящика переадресовывается на URL-адрес страницы, который является slug-префиксом сообщения. Иерархический список условий пользовательской таксономии по CPT Функциональность контроллера – если пользователь не выполнил вход в систему, отправьте их на определенную страницу (а не wp_login) Тема WordPress сбрасывается до значения по умолчанию после загрузки Необходимо создать пользовательскую страницу на веб-сайте Как перенести сайт WordPress на другой сервер? Выделять пользовательские виджеты в области администратора? Сохранение старых HTML-архивов и отображение тем условно Как самообслуживающий WordPress работает с Google Page Speed ​​Service? Когда я должен использовать API Transients?

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

Я хочу добавить идентификатор категорий на страницу администратора. Я называю это для своих 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 для категорий