サポート » 使い方全般 » 管理画面の投稿一覧ページでタクソノミーの列を追加したがタームが表示されない

  • 解決済 yusaku

    (@yusaku)



    カスタムタクソノミーを設定し、管理画面の投稿一覧でタクソノミーの列を追加しましたが、記事ごとのタームが表示されません。

    <カスタムタクソノミー設定>
    タクソノミーの設定対象 → 投稿ページ(page)
    タクソノミー名 → bui
    タクソノミー表示 → ラベル

    この設定で、functions.phpに、

    
    function add_custom_column( $defaults ) {
     $defaults['bui'] = 'ラベル';
     return $defaults;
    }
    add_filter('manage_posts_columns', 'add_custom_column');
    

    として、管理画面の投稿一覧にタクソノミーの列を追加しました。

    続いて、

    
    function add_custom_column_id($column_name, $id) {
     if( $column_name == 'bui' ) {
     echo get_the_term_list($id, 'ラベル', '', ', ');
     }
    }
    add_action('manage_posts_custom_column', 'add_custom_column_id', 10, 2);
    

    を記述して、投稿一覧に記事ごとのタームが表示されるようにしたかったのですが、

    これだと、

    ・タームが表示されない(タクソノミーの列はあり)
    ・それまで表示されていた記事IDが表示されない(IDの列はあり)
    ・投稿一覧に表示される記事が1記事のみになる(ページ送りをすれば他のページも表示される)
    ・表示オプションをクリックしても反応がない
    ・クイック編集ができない

    など不具合が出ます。

    最終的には、タクソノミーで絞り込み検索ができるようにしたいのですが、途中でつまずいています。

    どのように対処すればいいでしょうか?

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    get_the_term_list() の第2引数はタクソノミーの名前 (bui) ですね。

    echo get_the_term_list( $id, 'ラベル', '', ', ' );

    echo get_the_term_list( $id, 'bui', '', ', ' );

    上記の変更をしても、記事 ID が表示されないようであれば、カラム名が重複 (bui) していないか確認してください。
    また、クイック編集にカスタムタクソノミーが表示されないようであれば、カスタムタクソノミーの作成オプションでクイック編集を有効にしているかどうか確認してください。

    ishitaka様

    いつもありがとうございます。
    ご指摘いただいたように直しましたら、うまくいきました。

    初歩的なミスですみません。
    ありがとうございました。
    大変助かりました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • このトピックに返信するにはログインが必要です。