サポート » 使い方全般 » 複数投稿タイプ、の、一覧表示について

  • 解決済 aquas

    (@aquas)


    お世話になっております。

    一つご教授いただきたいことがございます。

    現状
    ・カスタムタクソノミーを利用
    ・複数投稿タイプを設定(postA postB postC )
    ・カスタムタクソノミー、タームを設定済み

    postA-(taxA1,taxA2)
    postB-(taxB1,taxB2)
    postC-(taxC1,taxC2)

    目標
    ・taxonomy.phpにて、taxA1,taxB1,taxC1 のみのターム一覧を表示させたい
    (taxA2,taxB2,taxC2は、不要)

    どうしても、ここが、うまく参りません。

    <?php
        $args=array(
           'tax_query' => array(
                array(
                    'taxonomy' => 'taxA1',
                    'field' => 'slug',
                    'terms' =>  'hoge'
               ),
            ),
            'post_type' => 'postA',
        ); ?>
        <?php query_posts( $args ); ?>
        <?php if(have_posts()): ?>
        <?php while(have_posts()):the_post(); ?>
    ~~~以下略~~~

    上記のような感じで、ここから先に進めなくなっております。
    何卒、よろしくお願い致します。

9件の返信を表示中 - 16 - 24件目 (全24件中)
  • モデレーター gatespace

    (@gatespace)

    term-a11 3件
    term-b11 5件
    term-c11 7件

    記事があるとしたら、15件を一覧表示させたい、ということです。
    それを、順番ではなく、ランダム表示させたい、ということなのですが…
    お分かりいただけますでしょうか。

    となると、各ターム毎のアーカイブページが必要、という事ではなく、
    任意のターム(この場合、term-a11、term-b11、term-c11)を指定した上で、
    指定したタームに属する記事をごちゃ混ぜでかつ、ランダムで表示したいと言うことですか?

    (そうなると私が今まで投稿したコードは全て無視してください)

    トピック投稿者 aquas

    (@aquas)

    gatespace様

    本当に、感謝いたします。
    私の説明が拙くて、
    遠回りいたしましたこと、お詫びいたします。

    となると、各ターム毎のアーカイブページが必要、という事ではなく、
    任意のターム(この場合、term-a11、term-b11、term-c11)を指定した上で、
    指定したタームに属する記事をごちゃ混ぜでかつ、ランダムで表示したいと言うことですか?

    まさに、まさに、その通りなのです。
    お付き合いくださいまして、本当に、ありがとうございます!

    モデレーター gatespace

    (@gatespace)

    となると、各ターム毎のアーカイブページが必要、という事ではなく、
    任意のターム(この場合、term-a11、term-b11、term-c11)を指定した上で、
    指定したタームに属する記事をごちゃ混ぜでかつ、ランダムで表示したいと言うことですか?

    そうなると、タームのアーカイブ用テンプレート(taxonomy.php)ではなく固定ページで作った方が良いですね。
    ページ送りしなくても良いなら、ランダムで表示できるでしょうし。
    (ちょっと、コードまですぐに落とし込めませんけど)

    モデレーター Takuro Hishikawa

    (@hissy)

    同じタクソノミーなら、タームを複数指定すればいいと思いますけど。
    http://example.com/?tax-a=term-a11,term-b11,term-c11

    複数のタクソノミーにまたがるということですか?

    モデレーター gatespace

    (@gatespace)

    ちょっと分かりづらいのでまとめますが、タクソノミーとタームの関係は

    タクソノミー taxA1 ターム:termA11、termA12
    タクソノミー taxA2 ターム:termA21、termA22
    タクソノミー taxB1 ターム:termB11、termB12
    タクソノミー taxB2 ターム:termB21、termB22
    タクソノミー taxC1 ターム:termC11、termC12
    タクソノミー taxC2 ターム:termC21、termC22

    で、異なるタクソノミーの異なるタームを任意で指定したいってことですか?

    トピック投稿者 aquas

    (@aquas)

    hissy様
    gatespace様

    本当にありがとうございます!
    固定ページで制作したほうがいい、ということなんですね!ありがとうございます。

    1.カスタム投稿postA タクソノミー taxA1 ターム:termA11、termA12
    2.カスタム投稿postA タクソノミー taxA2 ターム:termA21、termA22
    3.カスタム投稿postB タクソノミー taxB1 ターム:termB11、termB12
    4.カスタム投稿postB タクソノミー taxB2 ターム:termB21、termB22
    5.カスタム投稿postC タクソノミー taxC1 ターム:termC11、termC12
    6.カスタム投稿postC タクソノミー taxC2 ターム:termC21、termC22

    で、任意で指定したいのは、

    1.カスタム投稿postA タクソノミー taxA1 ターム:termA11
    3.カスタム投稿postB タクソノミー taxB1 ターム:termB11
    5.カスタム投稿postC タクソノミー taxC1 ターム:termC11

    このタームの中の記事を一覧表示したいのです。

    モデレーター Takuro Hishikawa

    (@hissy)

    分からん…。

    http://example.com/?tax-a1=term-a11

    というURLで

    タクソノミーが tax-a1、タームが term-a11

    が表示できます。

    それでいいんじゃないかと思いますがなにか違うのか…

    モデレーター gatespace

    (@gatespace)

    to hissy。
    複数のタクソノミー(not ターム)にまたがって、かつ複数のターム、複数のカスタム投稿タイプがあるようですよ。

    たぶん、こんな感じのコードでいけるかと。
    (未検証です)
    適当に固定ページのテンプレートを作った上で、その中にコードを書いてください。

    <?php
    $args = array(
    	'post_type' => array( 'postA', 'postB', 'postC', ),
    	'tax_query' => array(
    		'relation' => 'OR',
    		array(
    			'taxonomy' => 'taxA1',
    			'field' => 'slug',
    			'terms' => 'termA11'
    		),
    		array(
    			'taxonomy' => 'taxB1',
    			'field' => 'slug',
    			'terms' => 'termB11'
    		),
    		array(
    			'taxonomy' => 'taxC1',
    			'field' => 'slug',
    			'terms' => 'termC11'
    		)
    	),
    	'posts_per_page' => -1,
    	'orderby' => 'rand' 
    
    );
    $the_query = new WP_Query( $args );
    ?>
    <?php // The Loop ?>
    <?php if ( $the_query->have_posts() ) : ?>
    <ul>
    	<?php while ( $the_query->have_posts() ) : ?>
    		<?php $the_query->the_post(); // 以下マークアップはよしなに ?>
    		<li><?php the_title(); ?></li>
    	<?php endwhile; ?>
    </ul>
    <?php endif; ?>
    <?php wp_reset_postdata(); ?>

    パラメーターの指定などは 日本語Coex:関数リファレンス/WP Query を参考にしてください。

    トピック投稿者 aquas

    (@aquas)

    jim912様
    hissy様
    gatespace様

    本当に本当にありがとうございます!
    私のわけのわからない文章のせいで、
    遠回りすることになってしまい、
    心苦しい思いでいっぱいです。

    最後までお付き合いくださいまして、本当に感謝でございます。

    gatespace様のコードで、思ったとおりの表現になりました。
    今後とも、ご迷惑をおかけすることもあるかと思いますが…
    どうぞよろしくお願い致します。

9件の返信を表示中 - 16 - 24件目 (全24件中)
  • トピック「複数投稿タイプ、の、一覧表示について」には新たに返信することはできません。