How can I set a default listing order on the admin page for a custom taxonomy? (without plugins)

I’m researching this problem for days without any success… What I want is very simple: to see my custom taxonomy terms sorted by ID on the admin page. I can’t believe that something this simple can’t be accomplished without plugins.

(I already have a sortable custom column, but it would be important to set the default order as well.)

So far I have found the following two solutions, which doesn’t work for some reason:

1) Registering the taxonomy with “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' ) ) );

Source: http://codex.wordpress.org/Taxonomies#Registering_a_taxonomy

2) Filtering “request” and adding “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' );

Source: http://scribu.net/wordpress/custom-sortable-columns.html#comment-4456

3 Answers
3

You need to take a look at

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

and then add an extended class and make use of the WP_list_Table Class and documentation. basically you’re overriding the order and orderby in some custom plugin.


Btw: “No Plugins” is never a good idea as plugins may show you how it works in code and therefore be a) a valid answer and b) a good reference or starting point.

Leave a Comment