カスタム投稿でのterm別絞り込み機能

add_action( 'restrict_manage_posts', 'refineSearchPosts' );
// 投稿で絞り込み項目の表示
function refineSearchPosts() {
global $typenow;
$args =array( 'public' => true, '_builtin' => false );
$post_types = get_post_types($args);
if ( in_array($typenow, $post_types) ) {
$filters = get_object_taxonomies($typenow);
foreach ($filters as $tax_slug) {
$tax_obj = get_taxonomy($tax_slug);

// 値が入っているか確認する
if (isset($_GET[$tax_obj->query_var])){
$var = $_GET[$tax_obj->query_var];
}else{
$var = $tax_obj->query_var;
}
wp_dropdown_categories(array(
'show_option_all' => __('すべての'.$tax_obj->label ),
'taxonomy' => $tax_slug,
'name' => $tax_obj->name,
'orderby' => 'term_order',
'selected' => $var,
'hierarchical' => $tax_obj->hierarchical,
'show_count' => true, //カテゴリーに属する投稿数の表示
'hide_empty' => false, //カテゴリー・タグが存在しなくても項目を表示する(何もない場合空のフォームができてしまうため)
));
}
}
}

// 絞り込み検索内容の変換処理
add_filter('parse_query','convertRefineContent');
function convertRefineContent($query) {
global $pagenow;
global $typenow;
if ($pagenow=='edit.php') {
$filters = get_object_taxonomies($typenow);
foreach ($filters as $tax_slug) {
$var =& $query->query_vars[$tax_slug];
if ( isset($var) && $var>0) {
$term = get_term_by('id',$var,$tax_slug);
$var = $term->slug;
}
}
}
return $query;
}
remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');
add_filter( 'edit_post_link', '__return_false');
add_filter( 'edit_comment_link', '__return_false');
add_theme_support('post-thumbnails');
add_image_size('rel_tmn', 80, 80); // TOPページ記事用 縮小モード
function smart_excerpt($string, $limit) {
$words = explode(" ",$string);
if ( count($words) >= $limit) $dots = '...';
echo implode(" ",array_splice($words,0,$limit)).$dots;
}

カスタム投稿の管理画面での絞り込みはエンドユーザーにとってあるのとないのは違うはず!
と忘れないうちにφ(`д´)メモメモ…

“カスタム投稿でのterm別絞り込み機能” への 1 件のフィードバック

コメントは受け付けていません。