WP: 投稿一覧にカスタム分類の絞り込み検索を表示

Quick Edit Pencil
WordPress、投稿一覧をタクソノミーで絞り込む。管理画面の投稿一覧で検索オプションリストのカスタマイズ。

管理画面のカスタマイズ
投稿一覧にカスタム分類の絞り込み検索を表示



管理画面のカスタマイズ
投稿一覧にカスタム分類の絞り込み検索を表示:
function.php
<?php
// カスタム投稿画面にフィルター用のドロップダウンリストを追加
add_action('restrict_manage_posts', function() {
    global $post_type;
    if ( !in_array($post_type, ['post']) ) return;

    $taxonomy = 'area';

    // タームの親子構造の配列を取得
    $tree_terms = wp_dropdown_categories('taxonomy=region&hierarchical=1&echo=0&value_field=slug');
        //print_r($tree_terms);
    // slugとnameを抜き出し配列に入れる
    preg_match_all('/value="(.*?)">(.*?)</', $tree_terms, $matches);
        //print_r($matches);
        //print_r($matches[2]);

    $terms = get_terms($taxonomy);

        //print_r($terms[0]->name);

    // 親子構造にタームを並べ替え
    $order = $matches[1];
    $array1 = $terms;
    $sorted_array = [];
    foreach ($order as $i => $search_id) {
        foreach ($array1 as $idx => $record) {
            if ($search_id == $record->slug) {
                $record->name = $matches[2][$i];
                $sorted_array[] = $record;
                unset($array1[$idx]);
                break;
            }
        }
    }
    $array1 = $sorted_array;
        //print_r($array1);
    $terms = $sorted_array;

    // ドロップダウン出力
    if ( empty($terms) ) return;
    $selected = get_query_var($taxonomy);
    $options = '';
    foreach ($terms as $term) {
        $options .= sprintf('<option value="%s" %s>%s</option>'
                ,$term->slug
                ,($selected==$term->slug) ? 'selected="selected"' : ''
                ,$term->name
        );
    }
    $select = '<select name="%s"><option value="">地域名</option>%s</select>';
    printf($select, $taxonomy, $options);

});
?>




Keyword:カスタム分類



このブログの人気の投稿

PowerShellのGetDetailsOf メソッドでプロパティの詳細情報のID番号と項目名を列挙します

ヤバい!JAPANNEXT WQHD対応 27型ワイド液晶ディスプレイ「JN-IPS2716WQHD」を注文してみた!!!

書字方向 横書方向変換スクリプト 左書きから右書きへ(コピペ用途)

Blender Illustrator のパスを取り込む

Blender: 辺の長さを数値で指定するアドオン

AppleScript 改行 コード 置換

簡単 YouTube動画をダウンロード、音声のみ保存する方法 2019

Automatorの変数をAppleScript内で使う