【发布时间】:2020-10-20 07:57:28
【问题描述】:
我似乎无法让它正常工作。
此代码应该遍历自定义分类法中的所有类别,并在每个类别标题下显示帖子标题:
$args = array(
'post_type' => 'news',
'taxonomy' => 'news_category',
'orderby' => 'name'
);
$categories = get_categories( $args );
foreach ( $categories as $category ) {
$posts = get_posts($args);
echo '<h2>' . $category->name . '</h2>'; ?>
<ul>
<?php foreach($posts as $post) { ?>
<li>
<?php the_title(); ?>
</li>
<?php
} ?>
</ul>
<?php
}
预期的结果是这样的……
第 1 类
- 帖子标题
- 另一个帖子标题
第 2 类
- 又一个帖子标题
第 3 类
- 你看,另一个帖子标题
- 还有一个帖子标题,只是为了好玩
...但我得到的是:
第 1 类
- 帖子标题
- 另一个帖子标题
- 又一个帖子标题
- 你看,另一个帖子标题
- 还有一个帖子标题,只是为了好玩
第 2 类
- 帖子标题
- 另一个帖子标题
- 又一个帖子标题
- 你看,另一个帖子标题
- 还有一个帖子标题,只是为了好玩
第 3 类
- 帖子标题
- 另一个帖子标题
- 又一个帖子标题
- 你看,另一个帖子标题
- 还有一个帖子标题,只是为了好玩
我该如何解决这个问题?
【问题讨论】:
-
你得到了什么结果?
-
每次调用
$posts = get_posts($args);都会返回每个帖子。您必须从当前类别 获取帖子。
标签: php wordpress foreach categories