当サイトの記事には広告が含まれている場合があります

トップページに特定のタクソノミーに所属するカスタム投稿タイプの一覧を表示する方法

 
前、タクソノミー一覧の表示方法をブログに記載しました。

今回はトップページにカスタム投稿タイプの一覧を表示する方法について記載します。
index.phpに下記のとおり書くとカスタム投稿タイプ一覧が表示されます。

<ul class="boxList clearfix">
<?php
global $query_string;
query_posts(
    Array(
        'post_type' => array( 'news' ),	//カスタム投稿タイプ名を記載
        'showposts' => 5,
        'posts_per_page' => 5,
        'paged' => get_query_var('paged')
    )
);
if (have_posts()) {
    while (have_posts()) {
        the_post();
?>
    <li class="clearfix">
        //カスタム投稿タイプで表示したい項目を記載
    </li>
    <?php
        }
    }else{
    }
    wp_reset_query();
    ?>
</ul>

カスタム投稿タイプ一覧の中でも特定のタクソノミーに所属するものだけ表示したい場合、query_postsにtax_queryを追加します。
1つのスラッグだけ指定したい場合は下記のように記述します。

query_posts(
    Array(
        'post_type' => array( 'news' ),	//カスタム投稿タイプ名を記載
        'tax_query' => array(
            array(
                'taxonomy' => 'newscat',	//タクソノミー名を指定
                'field' => 'slug',	//'term_id'、'slug'などのフィールド名を指定
                'terms' => 'media',	//タクソノミーの値を指定
                'operator'  => 'IN'	//'AND'、'IN'、'NOT IN'の何れかを指定
            )
        ),
        'showposts' => 5,
        'posts_per_page' => 5,
        'paged' => get_query_var('paged')
    )
);

複数のスラッグを指定したい場合はtermsの部分を下記のように指定します。

'terms' => array( 'press','media' ),	//今回はpressとmediaというスラッグ名を指定
くるりん

新入社員の頃にシステムエンジニアの会社に入社。その後、WEB制作系の仕事に転職しました。

くるりんをフォローする
WordPress
スポンサーリンク
くるりんをフォローする
Memorandums