投稿記事の子カテゴリー(一階層)のみを表示したい
-
現在カテゴリーが7階層と深い階層になっているため、
階層の取得に悩んでおります。
どなたかご教授願えませんでしょうか。現在カテゴリ構造は以下のようになります。
(さらに増える可能性があります)AAA
∟BBB1
∟BBB2
∟CCC1
∟CCC2
∟DDD1
∟DDD2
∟EEE1
∟EEE2
∟FFF1
∟FFF2
∟GGG1
∟GGG2投稿記事内に関連記事として、
子カテゴリの記事を取得して載せようと考えております。記事AAA には 記事BBB1、記事BBB2のみ表示。
記事BBB2 には 記事CCC1、記事CCC2のみ表示。
記事CCC2 には 記事DDD1、記事DDD2のみ表示。
・
・
・
・
というように、投稿記事のカテゴリの
一つ下の階層の子カテゴリーの記事のみ取得したいのです。以下のように、
<?php
//親カテゴリに属する子カテゴリを配列で取得
$cat_now = get_the_category();
$cat_now = $cat_now[0];
$cat = $cat_now->term_id;
$subCategories = explode(”, wp_list_categories(‘echo=0&title_li=&style=none&depth=1&parent=’.$cat));$catIDs = array();
$catList = array();//正規表現を作成
$reg = ‘/<a.*?>(.*)?<.*/si’;/*
サブカテゴリ名だけを取得後、
サブカテゴリに対応するIDを取得して配列に追加
*/
foreach($subCategories as $cat) {
if(preg_match($reg, $cat, $value)) {
//カテゴリ名からIDを取得して配列に追加
array_push($catIDs, get_cat_ID($value[1]));
array_push($catList, $cat);
}
}//ループしてHTMLを作成
for($i=0; $i<count($catIDs); $i++) {
?><ul class=”ul-content-list”>
<?php if (have_posts()) : query_posts(‘posts_per_page=5&cat=’ . $catIDs[$i] . ‘&orderby=ID&order=desc’); ?>
<?php while (have_posts()) : the_post(); ?>- ” class=”bluelink”><?php the_title(); ?>
<?php endwhile; endif; wp_reset_query(); ?>
<?php } ?>
投稿記事の子カテゴリを取得して、
記事を表示するところまでは出来たのですが、
全ての子カテゴリ記事が表示されてしまいます。
投稿記事のカテゴリの直下の子カテゴリ1階層のみ表示するためには
どのようにしたらよいか、アドバイス頂けないでしょうか。宜しくお願いいたします。
—
[モデレータより]
「【重要】お読みください」フォーラムに投稿されていましたので、フォーラムを移動しました。
「【重要】お読みください」は、WordPress 日本語サイト運営チームから、みなさんへの連絡等に使用していますので、質問があっても回答がつかない場合があります。通常の質問は個別のフォーラムへ投稿してください。
- トピック「投稿記事の子カテゴリー(一階層)のみを表示したい」には新たに返信することはできません。