> Wordpress > Wordpressでカスタム投稿タイプの新着記事一覧をターム付きで表示する方法

Wordpressでカスタム投稿タイプの新着記事一覧をターム付きで表示する方法

Wordpressのフロントページなどにカスタム投稿タイプの新着記事一覧を表示する時、記事に登録されているカスタムタクソノミーのタームを表示できると便利ですよね。
カスタム投稿タイプの記事一覧を日時・ターム・タイトルで表示する方法は下記の通りです。

カスタム投稿タイプをquery_postで取得する方法

<h3>カスタム投稿タイプ新着記事(5件)</h3>
<ul>
    <?php query_posts("post_type=●●●●&posts_per_page=5");//カスタム投稿タイプ名 ?>
    <?php if(have_posts()): ?>
    <?php while(have_posts()): the_post(); ?>
    <li>
        <span class="date"><?php the_time('Y/m/d') ?></span>
        <?php $terms = wp_get_object_terms($post->ID, '●●●●');//カスタムタクソノミーのスラッグ
            if ($terms) {
            foreach ($terms as $term) {
                echo '<span class="'.$term->slug.'">'.$term->name.'</span>' ;}
            };
        ?>
        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    </li>
    <?php endwhile; ?>
</ul>
<?php endif; wp_reset_query(); ?>

 query_posts("post_type=●●●●&posts_per_page=5);//カスタム投稿タイプ名の部分でカスタム投稿タイプの新着記事を5件取得しています。
記事に登録されているタームはwp_get_object_terms($post->ID, '●●●●');//カスタムタクソノミーのスラッグで取得できます。

カスタム投稿タイプをget_postで取得する方法

<?php $list = get_posts(array('posts_per_page' => 5, 'post_type' => '●●●●',));?> //カスタム投稿タイプのスラッグを指定
<?php if(!empty($ints)) :?>
<div class="list">
<?php foreach ( $list as $post ) :
    setup_postdata( $post );
    $id = $post->ID;
?>
    <div class="item">
        <a href="<?php the_permalink();?>">
        <?php
            $terms = wp_get_object_terms($id, '●●●●'); //カスタムタクソノミーのスラッグ
            if ($terms) {
            foreach ($terms as $term) {
                echo '<span class="'.$term->slug.'">'.$term->name.'</span>' ;}
        };?>
            <h4><?php the_title();?></h4>
        </a>
    </div>
<?php endforeach; wp_reset_postdata(); ?>
</div>
<?php endif;?>

get_posts(array('posts_per_page' => 5, 'post_type' => '●●●●',));?> //カスタム投稿タイプのスラッグを指定の部分でカスタム投稿タイプの新着記事を5件取得しています。
記事に登録されているタームはwp_get_object_terms($post->ID, '●●●●');//カスタムタクソノミーのスラッグで取得できます。

取得した記事に登録されているタームの情報を表示する方法

上記2つの例ではスラッグと名前を取得して表示しましたが、他に表示できるタームの情報は下記のとおりです。

$term->term_id;          // タームID
$term->name;             // 名前
$term->slug;             // スラッグ
$term->term_group;       // タームグループ
$term->term_order;       // タームオブジェクト
$term->term_taxonomy_id; // タームタクソノミーID
$term->taxonomy;         // タクソノミー
$term->description;      // ディスクリプション
$term->parent;           // 親ID
$term->count;            // カウント
$term->object_id;        // オブジェクトID

 カスタムタクソノミーをカスタム投稿タイプのカテゴリーとして利用している場合などにご活用ください。

この記事が気に入ったらシェアしてください

関連記事

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpressのプラグイン「AddToAny Share Buttons」で任意の場所にシェアボタンを設置する方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpress Popular Postsでの表示内容をテーマ内でカスタマイズする方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressの投稿からカテゴリーやタグを削除する方法

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressで記事のIDから記事内の一番目にある画像を取得する関数

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

Wordpressのget_terms()で特定のカスタム投稿タイプの公開記事のみcountの対象にする方法

WP_Query()のmeta_queryでAdvanced Custom Fieldsの「真 / 偽」の登録内容で絞りこむ方法

WP_Query()のmeta_queryでAdvanced Custom Fieldsの「真 / 偽」の登録内容で絞りこむ方法

1 Comments

岩ちゃん

この記事のおかげでずっと悩んでいたところが解決できました!
ありがとうございます!
  • 2021/04/03 20:25:11

Comment Form

コメント投稿はこちらをクリックしてください
  • コメントを入力してください。
登録フォーム
Name
Mailaddress
URL
Message
Postkey
(スパム対策に、投稿キー を半角で入力してください。)