AIブログの収益化
 
WordPressのニュース一覧表示をカテゴリー別に分ける

WordPressのニュース一覧表示をカテゴリー別に分ける

WordPressで「親カテゴリーが”スキル”」の投稿のみをトップページに最新4件タイトルリンクで表示するには、以下のようにWP_Queryを使って親カテゴリーを指定して絞り込む必要があります。


✅ 方法:親カテゴリーが「スキル」の投稿を取得

ステップ1:親カテゴリー「スキル」のIDを取得

まず、親カテゴリー「スキル」のIDを取得します(例: ID が 10 だと仮定)。

※実際のIDは「投稿 > カテゴリー」画面のリンクURLや、get_category_by_slug()関数などで取得できます。

term_id;
?>

ステップ2:親カテゴリー「スキル」の子カテゴリーを含む投稿を取得

term_id;

$args = array(
    'posts_per_page' => 4,
    'post_type' => 'post',
    'orderby' => 'date',
    'order' => 'DESC',
    'category__in' => get_term_children($parent_id, 'category'),
);

$query = new WP_Query($args);

if ($query->have_posts()) : ?>
    
    have_posts()) : $query->the_post(); ?>

記事がありません。


🔍 ポイント

  • get_term_children($parent_id, 'category') で「スキル」の子カテゴリーのIDを配列で取得
  • category__in にそれを渡すことで、「スキル」の子カテゴリーの記事だけを取得
  • 「スキル」カテゴリー自体に属する投稿も含めたい場合は $category_ids = array_merge([$parent_id], get_term_children($parent_id, 'category')) として合体すればOK

例:親「スキル」+その子カテゴリーも含む

term_id], get_term_children($parent->term_id, 'category'));

$query = new WP_Query([
    'post_type' => 'post',
    'posts_per_page' => 4,
    'orderby' => 'date',
    'order' => 'DESC',
    'category__in' => $category_ids,
]);

WP