サポート » 使い方全般 » 現在のカテゴリを習得し、カテゴリとタグを指定してタイトル一覧を表示

  • 解決済 keika0

    (@keika0)


    はじめて。質問させていただきます。

    現在開いているカテゴリページを習得し、
    同じカテゴリに属している投稿の中でも、指定されたタグ別に投稿タイトルを一覧表示させたいと考えています。

    ※用途例: ——————————————————-

     「 レシピ(id:1) 」カテゴリの子カテゴリ「 和食カテゴリ(id:2) 」を開いたときに、
     和食の中でも、「 肉類(tabid:5) 」タブを使ったものの投稿タイトルを一覧表示し、
     その下には「 魚介類(tabid:6) 」タブを使ったものの投稿タイトルを一覧表示させる。

    ※イメージ ——————————————————-

    カテゴリ「レシピ」 > 「和食」

      ■主なメイン食材: 肉類
        ・肉じゃが  ・すき焼き  ・和風ハンバーグ
      ■主なメイン食材: 魚介類
        ・茶碗蒸し  ・海鮮丼  ・あさりの酒蒸し

    —————————————————————-

    現在、カテゴリも「和食」「洋食」「中華」など複数にあり、その度にcategory-(id).phpファイルを作成するのが大変な為に何か一括でしたいと考え、
    色々なサイトやフォーラムを参考に下記のようなコードを設置しましたが上手く動作しません。

    <?php
    	foreach((get_the_category()) as $cat) { //現在のカテゴリ習得
    	$cat_id = $cat->cat_ID ;
    	break ;
    }
    if (have_posts()) :
    $include_cats = $cat_id; //カテゴリとタブを指定して一覧表示
    $args = array(
    	'category__in' => $include_cats,
    	'tag__and' => array( 5 ) //tag肉類id5
    );
    qery_posts( $args );
    $wp_query->query_vars['cat'] = $include_cats;
    ?>
    	<ul>
    <?php while (have_posts()) : the_post(); ?>
    	<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endwhile; ?>
    	</ul>
    <?php endif; ?>

    どなたか知恵を頂けたらと思います。
    よろしくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • ちょっと書き方が汚くて申し訳ないんですが、こういう感じでどうでしょうか?

    <?php
    $my_tags = array( '肉類', '魚介類' ); // 一覧表示させるタグを設定
    foreach ( $my_tags as $my_tag ) :
        $tag_obj  = get_term_by( 'name', $my_tag, 'post_tag' );
        if ( !$tag_obj ) continue; // そんなタグないよ、という場合スキップ
        $tag_ID   = $tag_obj->term_id;
        $my_args  = array(
            'cat' => get_query_var( 'cat' ),
            'tag__and' => array( $tag_ID ),
        );
        $my_query = new WP_Query( $my_args );
        if ( $my_query->have_posts() ) :
    ?>
    <h3>■主なメイン食材: <em><a href="<?php echo get_tag_link( $tag_ID ); ?>"><?php echo $my_tag; ?></a></em></h3>
    <ul>
    <?php
            while ( $my_query->have_posts() ) : $my_query->the_post();
    ?>
    	<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php
            endwhile;
    ?>
    </ul>
    <?php
        endif;
    endforeach;
    ?>
    トピック投稿者 keika0

    (@keika0)

    mizube様

    ご回答ありがとうございました。希望通りの表示にすることができました。
    タグの設定もタグ名で設定できるので、とても助かります。
    ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「現在のカテゴリを習得し、カテゴリとタグを指定してタイトル一覧を表示」には新たに返信することはできません。