カスタム投稿とカスタムフィールドでメンバーズリストを作る《連載4》

一覧ページ(archive-cast.php)を用意します。

通常のloopでは回せないので、新しくloopを作ります。

今回の案件はプロダクションのサイトなので、投稿タイプにカテゴリー(タクソノミー)を付け、女性モデルと男性モデルに振り分けて表示させる仕様です。

archive-cast.php

<!-- 女性モデルを表示 -->
<ul class="block5">
<?php 
$args = array( 
'post_type' => 'cast', 
'posts_per_page' => -1,
'order' => 'ASC',
'taxonomy' => 'cast_category',
'term' => 'female', 
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<li><a href="<?php the_permalink(); ?>">
<?php 
$image = get_field('photos');
if( !empty($image) ): 
	// vars
	$alt = $image['alt'];
	// thumbnail
	$size = 'medium';
	$thumb = $image['sizes'][ $size ];
?>
<img src="<?php echo $thumb; ?>" alt="<?php echo $alt; ?>" /></a>
<?php endif; ?>
<h3 class="name"><?php the_title(); ?></h3></li>
<?php endwhile; ?>
</ul>
<?php wp_reset_postdata();?>
<hr />
<!-- 男性モデルを表示 -->
<ul class="block5">
<?php 
$args = array( 
'post_type' => 'cast', 
'posts_per_page' => -1,
'order' => 'ASC',
'taxonomy' => 'cast_category',
'term' => 'male', 
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<li><a href="<?php the_permalink(); ?>">
<?php 
$image = get_field('photos');
if( !empty($image) ): 
	// vars
	$alt = $image['alt'];
	// thumbnail
	$size = 'medium';
	$thumb = $image['sizes'][ $size ];
?>
<img src="<?php echo $thumb; ?>" alt="<?php echo $alt; ?>" /></a>
<?php endif; ?>
<h3 class="name"><?php the_title(); ?></h3></li>
<?php endwhile; ?>
</ul>
<?php wp_reset_postdata();?>

「post_type」は「cast」を設定、「post_par_page」は「-1」で全件表示させます。

複数ループのため「wp_reset_postdata()」を忘れずに

「taxonomy」はfunction.phpで設定した「cast_category」を
「term」はカテゴリー(タクソノミー)で追加した「female(女性)」「male(男性)」で振り分けます。