前提・実現したいこと
wordpressで、下記のような構成でのページ一覧を自動で出力したいと考えております。
<dl> <dt> <a href="">カテゴリAトップ</a> </dt> <dd> <ul> <li><a href="">サブカテゴリAトップ</a></li> <li><a href="">サブカテゴリA下層ページ</a></li> <li><a href="">サブカテゴリBトップ</a></li> <li><a href="">サブカテゴリB下層ページ</a></li> <li><a href="">カテゴリA直下の下層ページ</a></li> <li><a href="">カテゴリA直下の下層ページ</a></li> <li><a href="">カテゴリA直下の下層ページ</a></li> <li><a href="">カテゴリA直下の下層ページ</a></li> </ul> </dd> </dl> <dl> <dt> <a href="">カテゴリBトップ</a> </dt> <dd> <ul> <li><a href="">サブカテゴリCトップ</a></li> <li><a href="">サブカテゴリC下層ページ</a></li> <li><a href="">サブカテゴリDトップ</a></li> <li><a href="">サブカテゴリD下層ページ</a></li> <li><a href="">カテゴリB直下の下層ページ</a></li> <li><a href="">カテゴリB直下の下層ページ</a></li> <li><a href="">カテゴリB直下の下層ページ</a></li> <li><a href="">カテゴリB直下の下層ページ</a></li> </ul> </dd> </dl>
発生している問題・エラーメッセージ
下記コードだと、サブカテトップページのみが表示されず、
■コード
<?php $args = array( 'parent' => 0, 'hide_empty' => 0 ); $categories = get_categories($args); foreach($categories as $category) : ?> <dl> <dt> <a href="<?php echo get_category_link( $category->term_id ); ?>"><?php echo $category->cat_name; ?></a> </dt> <dd> <ul> <?php query_posts('cat='.$category->cat_ID); if (have_posts()) : while (have_posts()) : the_post(); ?> <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <?php endwhile; endif; ?> </ul> </dd> </dl> <?php endforeach; ?>
■出力結果
※「サブカテゴリAトップ」「サブカテゴリBトップ」…が表示されません。
<dl>
<dt>
<a href="">カテゴリAトップページ</a>
</dt>
<dd>
<ul>
<li><a href="">サブカテゴリA下層ページ</a></li>
<li><a href="">サブカテゴリB下層ページ</a></li>
<li><a href="">カテゴリA直下の下層ページ</a></li>
<li><a href="">カテゴリA直下の下層ページ</a></li>
<li><a href="">カテゴリA直下の下層ページ</a></li>
<li><a href="">カテゴリA直下の下層ページ</a></li>
</ul>
</dd>
</dl>
<dl>
<dt>
<a href="">カテゴリBトップページ</a>
</dt>
<dd>
<ul>
<li><a href="">サブカテゴリC下層ページ</a></li>
<li><a href="">サブカテゴリD下層ページ</a></li>
<li><a href="">カテゴリB直下の下層ページ</a></li>
<li><a href="">カテゴリB直下の下層ページ</a></li>
<li><a href="">カテゴリB直下の下層ページ</a></li>
<li><a href="">カテゴリB直下の下層ページ</a></li>
</ul>
</dd>
</dl>
試したこと
・the_postが孫ページならば…などのif文を構築しようと試みましたが、htmlの構成との相性が悪くできませんでした。
補足情報(FW/ツールのバージョンなど)
WordPress 4.9.4を使用しております。
回答1件
あなたの回答
tips
プレビュー