juliocavalcanti

Code to insert filtering in Custom Post Type Edit Screen

Sep 13th, 2011 (edited)
343
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function my_restrict_manage_posts() {
  2.     global $typenow;
  3.     $args=array( 'public' => true, '_builtin' => false );
  4.     $post_types = get_post_types($args);
  5.     if ( in_array($typenow, $post_types) ) {
  6.     $filters = get_object_taxonomies($typenow);
  7.         foreach ($filters as $tax_slug) {
  8.             $tax_obj = get_taxonomy($tax_slug);
  9.             wp_dropdown_categories(array(
  10.                 'show_option_all' => __('Show All '.$tax_obj->label ),
  11.                 'taxonomy' => $tax_slug,
  12.                 'name' => $tax_obj->name,
  13.                 'orderby' => 'term_order',
  14.                 'selected' => $_GET[$tax_obj->query_var],
  15.                 'hierarchical' => $tax_obj->hierarchical,
  16.                 'show_count' => false,
  17.                 'hide_empty' => true
  18.             ));
  19.         }
  20.     }
  21. }
  22. function my_convert_restrict($query) {
  23.     global $pagenow;
  24.     global $typenow;
  25.     if ($pagenow=='edit.php') {
  26.         $filters = get_object_taxonomies($typenow);
  27.         foreach ($filters as $tax_slug) {
  28.             $var = &$query->query_vars[$tax_slug];
  29.             if ( isset($var) ) {
  30.                 $term = get_term_by('id',$var,$tax_slug);
  31.                 $var = $term->slug;
  32.             }
  33.         }
  34.     }
  35. }
  36. add_action('restrict_manage_posts', 'my_restrict_manage_posts' );
  37. add_filter('parse_query','my_convert_restrict');
Advertisement