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()) : ?>
記事がありません。
🔍 ポイント
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, ]);