サポート » 使い方全般 » 共通タクソノミーのターム一覧をカスタム投稿別に表示したい

  • 解決済 tamaki75

    (@tamaki75)


    現在、
    ・投稿(post)
    ・ブログ(blog)…カスタム投稿
    ・イベント(event)…カスタム投稿
    という投稿タイプがあり、

    共通のタクソノミー「category」を使用しています。
    (postのカテゴリーを共有して、カスタム投稿ではタクソノミーとして利用しています。)

    投稿(post)とブログ(blog)のcategoryに属する各タームの記事一覧をindex.phpで表示しているのですが、
    (domain/category/term)
    それとは別に、カスタム投稿「イベント」のcategoryに属する各タームの記事一覧を表示させたいのです。
    そのような場合、どうしたらいいでしょうか?
    taxonomy-category.phpを作ってみましたが、index.phpが優先されてしまいうまくいきませんでした。

    どなたかご教授いただければ幸いです。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • 正確を期すために、下記のそれぞれが、できているか、まだできていないかを教えてください。

    1. 投稿タイプ post のタクソノミー category の各タームの記事一覧を表示できている(blog と event の記事が混じらずに)(テンプレートは index.php)。
    2. 投稿タイプ blog のタクソノミー category の各タームの記事一覧を表示できている(post と event の記事が混じらずに)(テンプレートは index.php)。
    3. 投稿タイプ event のタクソノミー category の各タームの記事一覧を表示できている(post と blog の記事が混じらずに)(テンプレートは index.php)。

    gblsm 様

    返信ありがとうございます。
    現在index.phpで表示させているのは、postとblogで取得できています。

    
    <?php
    $taxonomy = $wp_query->get_queried_object();
    $args = array(
    'post_type' => array('post','blog'), // 複数のカスタム投稿タイプ名
    'posts_per_page' => 18,
    'paged' => $paged,
    'tax_query' => array(
    array(
    		'taxonomy' => 'category', // タクソノミー名
    		'terms' => array( $taxonomy->slug ),
    		'field'=>'slug'
    )
    )
    );
    ?>
    <?php $loop = new WP_Query( $args ); ?>
    <?php if($loop -> have_posts()): ?>
    <?php while($loop -> have_posts()): $loop->the_post();?>
    ループ内容
    <?php endwhile; ?> 
     <?php endif; ?>
    

    post_type' => postなどで指定すれば1. 2. 3.の一覧表示は可能です。

    index.phpで表示するやり方が違うのかもしれませんが…。

    どうぞよろしくお願いいたします。

    index.php は「他に適切なテンプレートがないときに最終的に使われる」テンプレートなので、特定のタクソノミーや投稿タイプだけしか表示できないのはお勧めしません。

    標準的なコードに戻して pre_get_posts アクションフックの利用をお勧めします。

    参考記事
    https://gatespace.jp/2012/09/10/modify_main_queries/

    gblsm 様

    >index.php は「他に適切なテンプレートがないときに最終的に使われる」テンプレートなので、特定のタクソノミーや投稿タイプだけしか表示できないのはお勧めしません。

    そうなのですね。

    pre_get_posts アクションフック、やってみます。

    ありがとうございました。

    追記です。
    アーカイブページのパーマリンクをわかりやすくするには Custom Post Type Permalinks プラグインが便利だと思います。
    例えば下記のようなパーマリンクが使えます。
    example.org/post_type/taxonomy_name/term_slug

    プラグインページ
    https://ja.wordpress.org/plugins/custom-post-type-permalinks/

    • この返信は1年、 4ヶ月前にgblsmが編集しました。
5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「共通タクソノミーのターム一覧をカスタム投稿別に表示したい」には新たに返信することはできません。