サポート » 使い方全般 » カスタム投稿タイプで複数カテゴリーの一覧表示

  • 解決済 hikonyan0127

    (@hikonyan0127)


    質問させていただきます。
    カスタム投稿中の複数カテゴリーの投稿一覧をトップページに表示させ、また
    カテゴリーごとに表示を分けず一緒にして更新日順に並べたいと思っています。

    具体的な現在の状況ですが、
    下記のようなカテゴリーを持ったカスタム投稿を作成しました。

    ●新着情報
    -ショップからのお知らせ
    -新商品入荷情報
    -おすすめ商品情報
    -リコール情報

    上記の中で「新商品入荷情報」と「おすすめ商品情報」をまとめて一覧表示をしたく
    いろいろと試行錯誤しています。

    その中で、カスタム投稿タイプでなく普通の投稿の複数カテゴリー一覧表示は
    下記のソースで実現できました。
    下記記述を一部変更すればよいものでしょうか。

    <?php
    global $post;
    $tmp_post = $post;
    ?>
    <ul>
    <?php
    $get_posts_args = array(
        'category__in' => array( 1, 2, 3 ),
        'numberposts' => 10,
        'order' => 'DESC',
        'orderby' => 'date'
    );
    $postslist = get_posts( $get_posts_args );
    foreach ( $postslist as $post ) {
    ?>
        <li><a href=<?php echo get_permalink( $post->ID ); ?>><?php echo $post->post_title; ?></a></li>
    <?php
    }
    ?>
    </ul>
    <?php
    $post = $tmp_post;
    ?>

    フォーラム内の類似投稿も調べてみましたが、解決できなかったので投稿させていただきました。
    お手数ですが、ご教授くださいますようお願い申し上げます。

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

    (@gatespace)

    こんにちは。
    get_posts() は WP_Query クラスを利用して投稿を取得しますので、パラメーターもWP_Queryと同じものが使えます。
    具体的に書くと、カスタム投稿タイプは post_type、
    カスタム分類のタームを複数指定するにはtax_queryを使います。

    トピック投稿者 hikonyan0127

    (@hikonyan0127)

    ご回答ありがとうございます。
    ご説明くださったとおり、tax_queryを使用して下記のソースにすることで実現することができました。ありがとうございました。

    <?php
    	$args = array(
    		'posts_per_page' => 5,
    		'tax_query' => array(
    			'relation' => 'AND',
    			array(
    				'taxonomy' => 'news_cat',
    				'field' => 'slug',
    				'terms' => array( 'ターム名1', 'ターム名2' ),
    				)
    		)
    	);
    ?>
    <?php
    	query_posts( $args );
    ?>
2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カスタム投稿タイプで複数カテゴリーの一覧表示」には新たに返信することはできません。