Как изменить порядок категорий в панели администратора?
Порядок категорий в панели администратора отображается по алфавиту. Можно ли изменить его на пользовательский порядок?

Нашел ответ в этом ответе.
add_filter( 'get_terms_args', 'wpse_53094_sort_get_terms_args', 10, 2 );
function wpse_53094_sort_get_terms_args( $args, $taxonomies )
{
global $pagenow;
if( !is_admin() || ('post.php' != $pagenow && 'post-new.php' != $pagenow) )
return $args;
$args['orderby'] = 'slug';
$args['order'] = 'DESC';
return $args;
}
order может быть ASC
или DESC
, а orderby может принимать значения:
count
description
(должно работать, но у меня срабатывало нестабильно, требуются дополнительные тесты)name
slug
Интересные плагины
(можем ли мы назвать их Плинтересами?)
Первые два очень компактные и могут быть легко встроены в ваш код.
Category Checklist Expander : увеличивает высоту списка категорий, чтобы не требовалась прокрутка
Category Checklist Tree : перестраивает метабокс категорий, позволяя модифицировать его код для дальнейшей стилизации/адаптации - вот скриншот его работы
Gecka Terms Ordering : создает вспомогательную таблицу в базе данных (
wp_termmeta
) для управления порядком. Поддерживает drag and drop.

Большое спасибо! [помимо этих плагинов, я также написал шорткод, который отображает категории в виде дерева]

Возможно, самый простой способ — это манипуляции с DOM через jQuery, посмотрите этот ответ для вдохновения :)

Используйте плагин Advanced Custom Fields (этот плагин полезен во многих отношениях). Затем создайте произвольное поле для сортировки (category_order) с правилом 'Taxanomy_Term' равно 'Categories'.
Затем в файле functions.php вашей темы (или в другом подходящем месте) используйте:
$categories = get_categories( $args );
usort($categories, function($a, $b) {
return get_field("category_order", "category_".$a->term_id) - get_field("category_order", "category_".$b->term_id);
});
foreach ($categories as $category){
...
Где category_order - это имя поля, которое вы создали с помощью ACF.
Эта запись вдохновлена этой статьей.

По умолчанию такой опции нет, но есть два других способа.
- Изменить в файлах темы http://codex.wordpress.org/Template_Tags/wp_list_categories
- Использовать плагин, например http://wordpress.org/extend/plugins/my-category-order/

Я думаю, ваше предложение касается стороны пользователей. А я ищу, как изменить порядок на стороне администратора.

Оба этих предложения предназначены для администраторов. Пользователи вообще не должны иметь доступа к файлам темы, и если вы посмотрите инструкции к плагину, там явно говорится об использовании администратором.

@user1337 - вы путаете пользователя "admin" (или обладающего административными правами на сайте) с бэкендом WordPress, также называемым Админкой или Панелью управления.

@brasofilo - Вовсе нет. Либо пользователь "admin", либо кто-то, у кого есть доступ к плагинам в админке или дашборде, может установить этот плагин и изменить порядок отображения категорий. Также можно использовать плагин для ролей, чтобы делегировать эту возможность другим ролям, помимо администратора.

Будет ли плагин работать в этом метабоксе?
