archive-カスタム投稿名.phpの中でよく使うWordPressのコード
親子ターム別の投稿一覧を表示
・カスタム投稿タイプ = info-en
・タクソノミー名 = info-encat
を指定しています。
<?php
$terms = get_terms('info-encat', 'parent=0'); // 親階層のターム一覧を取得
foreach($terms as $parent_term):
?>
<h2><?php echo esc_html($parent_term->name); // 親タームのタイトルを出力 ?></h2>
<?php
$child_terms = get_terms('info-encat', 'hierarchical=0&parent='. $parent_term->term_id); // hierarchical=0:子タームを持つタームを含めない、parent=タームID:親タームを指定
if($child_terms): // 子タームを出力
foreach($child_terms as $term):
?>
<h3><?php echo esc_html($term->name); // 子タームのタイトルを出力 ?></h3>
<?php
$args = array(
'post_type' => 'info-en', // 投稿タイプ:カスタム投稿
'info-encat' => $term->slug, // 子タームを指定
'posts_per_page' => -1, // 表示件数:全件表示
'post_status' => 'publish', // 投稿ステータス:公開済み
);
$the_query = new WP_Query($args);
?>
<?php if($the_query->have_posts()): ?>
<?php while($the_query->have_posts()): $the_query->the_post(); ?>
<article>
<figure><?php the_post_thumbnail(); ?></figure>
<h4><?php the_title(); ?></h3>
<p><?php the_excerpt(); ?></p>
<a href="<?php the_permalink(); ?>">もっと見る</a>
</article>
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata(); // サブクエリーで取得したデータをリセットするコード ?>
<?php endforeach; // 子タームに紐づく記事一覧の表示終了 ?>
<?php else: // 子タームがない場合、親タームに所属する記事を出力 ?>
<?php
$args = array(
'post_type' => 'info-en', // 投稿タイプ:カスタム投稿
'info-encat' => $parent_term->slug, // 親階層のタームを指定
'posts_per_page' => -1, // 表示件数:全件表示
'post_status' => 'publish', // 投稿ステータス:公開済み
);
$the_query = new WP_Query($args);
?>
<?php if($the_query->have_posts()): ?>
<?php while($the_query->have_posts()): $the_query->the_post(); ?>
<article>
<figure><?php the_post_thumbnail(); ?></figure>
<h4><?php the_title(); ?></h3>
<p><?php the_excerpt(); ?></p>
<a href="<?php the_permalink(); ?>">もっと見る</a>
</article>
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata(); // サブクエリーで取得したデータをリセットするコード ?>
<?php endif; // タームに紐づく記事の出力終了 ?>
<?php endforeach; // 親タームの取得終了 ?>
最低限覚えておきたい
WordPressのコード
-
PHPの条件分岐の基本
-
WordPressで使う代表的な条件分岐
-
投稿の出力でよく使うWordPressのコード
-
テンプレートパーツの読み込みで使うWordPressのコード
-
header.phpの中でよく使うWordPressのコード
-
footer.phpの中でよく使うWordPressのコード
-
sidebar.phpの中でよく使うWordPressのコード
-
functions.phpの中でよく使うコード
-
front-page.phpでよく使うWordPressのコード
-
page.phpの中でよく使うWordPressのコード
-
archive.php(date.php、category.php、tag.php)の中でよく使うWordPressのコード
-
single.phpの中でよく使うWordPressのコード
-
taxonomy.phpの中でよく使うWordPressのコード
-
single-カスタム投稿名.phpの中でよく使うWordPressのコード
-
search.phpの中でよく使うWordPressのコード
-
プラグイン出力でよく使うコード