Intereting Posts
Как вставить содержимое из другого настраиваемого типа сообщений в сообщение? Ошибка создания подключения к базе данных, но учетные данные в порядке. Получение имени пользователя в get_user_meta Разрешить пользователю загружать файл, если на экране редактирования профиля Общая функциональность плагинов и тем Справка по пользовательским полям woocommercer в вариантах Исключить пользовательские столбцы с таксономией из настраиваемого почтового цикла Есть ли бесшовное решение для отправки плагинов на wordpress.org SVN и GitHub? Получить простой пароль для регистрации Почему это важно проверить на isset и is_array перед проверкой in_array в этом примере? Отображать категорию сообщения в цикле foreach Использование wp_filesystem в плагинах Связь между настраиваемым типом сообщения и страницами / отдельными шаблонами После установки APC Object Cache Backend переходные процессы перестали работать Проблемы с установкой WordPress Получить PHP Не работает Ответ

Как я могу установить порядок листинга по умолчанию на странице администратора для пользовательской таксономии? (без плагинов)

Я исследую эту проблему в течение нескольких дней без каких-либо успехов … То, что я хочу, очень просто: увидеть мои пользовательские термины таксономии, отсортированные по ID на странице администратора. Я не могу поверить, что что-то такое простое не может быть достигнуто без плагинов.

(У меня уже есть сортируемый пользовательский столбец, но также важно установить порядок по умолчанию .)

До сих пор я нашел следующие два решения, которые по какой-то причине не работают:

1) Регистрация таксономии с помощью «sort => true»:

register_taxonomy( 'issue', 'post', array( 'hierarchical' => false, 'labels' => $labels, 'public' => true, 'sort' => true, 'args' => array( 'orderby' => 'id' ), 'query_var' => 'issue', 'rewrite' => array( 'slug' => 'issues' ) ) ); 

Источник: http://codex.wordpress.org/Taxonomies#Registering_a_taxonomy

2) Фильтрация «запроса» и добавление «orderby»:

 function my_default_orderby( $vars ) { $screen = get_current_screen(); if ( 'edit-issue' == $screen->id ) { if ( !isset( $vars['orderby'] ) ) { $vars['orderby'] = 'id'; } } return $vars; } if ( is_admin() ) add_filter( 'request', 'my_default_orderby' ); 

Источник: http://scribu.net/wordpress/custom-sortable-columns.html#comment-4456

Solutions Collecting From Web of "Как я могу установить порядок листинга по умолчанию на странице администратора для пользовательской таксономии? (без плагинов)"

Вам нужно взглянуть на

/core_root/wp-admin/includes/class-wp-terms-list-table.php

а затем добавьте расширенный класс и используйте класс WP_list_Table и документацию. в основном вы переопределяете order и order в каком-то настраиваемом плагине.


Btw: «Нет плагинов» никогда не бывает хорошей идеей, так как плагины могут показать вам, как это работает в коде и, следовательно, быть a) действительным ответом и b) хорошей ссылкой или отправной точкой.

Мое решение, в то время как я создал тему wp, – это сделать javascript: в general.js, который включен в бэкэнд

 add_action('wp_head', 'thememakers_theme_wp_head'); function thememakers_theme_admin_head() { wp_enqueue_script('thememakers_theme_admin_js', THEMEMAKERS_THEME_URI . '/admin/js/general.js'); } 

в том, что general.js пишут:

 jQuery(document).ready(function() { //for events var event_link=jQuery('.wp-submenu-wrap a[href$="?post_type=event"]').eq(0); jQuery(event_link).attr('href', jQuery(event_link).attr('href')+"&orderby=ev_mktime&order=desc"); }); 

где ev_mktime – это обычная мета-запись.

Вот и все. Простой и мощный.

Как насчет использования get_terms( 'taxonomy-slug', array( 'orderby' => id,'hierarchical' => 1 ) ); а затем повторить это?