WEB系キャンパス

管理画面のカスタム投稿一覧の各投稿に該当カテゴリーや絞り込み検索を表示する

WordPressの管理画面でカスタム投稿の一覧には普通の投稿とはちょっとUI部分が違っていて、例えば、投稿一覧だったらチェックしたカテゴリーが表示されてるんだけど、カスタム投稿だとそれが表示されていない。

カスタム投稿一覧にチェックしたカテゴリー名を表示させる

カスタム投稿でも同じように表示させたい場合は以下のコードをfunctions.phpに追加する

//カスタム投稿の一覧にカテゴリを表示
function add_custom_column( $defaults ) {
  $defaults[‘タクソノミー名'] = 'カテゴリー';
  return $defaults;
}
add_filter(‘manage_◯◯◯◯_posts_columns', 'add_custom_column');
  function add_custom_column_id($column_name, $id) {
    if( $column_name == 'タクソノミー名' ) {
    echo get_the_term_list($id, 'タクソノミー名, '', ', ');
  }
}
add_action('manage_◯◯◯◯_posts_custom_column', 'add_custom_column_id', 10, 2);

ただし、投稿の場合はカテゴリー名をチェックすると、チェックしたカテゴリーで絞り込まれるけど、このコードだと実際のサイト画面のcategory一覧ページにリンクされる。
ここは、もう少し考えないといけないね。

なので、代替え案ってわけじゃないけど、カテゴリーの絞り込み検索も入れておこう。

プルダウン式のカテゴリーの絞り込み検索を表示させる。

//カスタム投稿の絞り込み検索
add_action( 'restrict_manage_posts', 'add_custom_taxonomies_term_filter' );
function add_custom_taxonomies_term_filter() {
  global $post_type;
  if ( $post_type == ‘カスタム投稿名' ) {
    $taxonomy = ‘タクソノミー名';
    wp_dropdown_categories( array(
      'show_option_all' => 'カテゴリー一覧',
      'orderby' => 'name',
      'selected' => get_query_var( $taxonomy ),
      'hide_empty' => 0,
      'name' => $taxonomy,
      'taxonomy' => $taxonomy,
      'value_field' => 'slug',
    ) );
  }
}

カスタム投稿って基本的に、functions.phpで追加するんですが、プラグインで追加するとこういう設定もしなくていいのかな?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です