Wordpressでカスタム投稿タイプの新着記事一覧をターム付きで表示する方法
- 投稿日:2018/09/07
- 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
カスタムタクソノミーをカスタム投稿タイプのカテゴリーとして利用している場合などにご活用ください。