我在 Anchor CMS 主题中有一个普通的帖子页面。帖子列表旁边是一个类别列表,我打算将其用作博客帖子的排序过滤器。根据 Anchor Docs 输出的类别列表如下:
<?php foreach(Category::dropdown() as $id => $category): ?>
<div class="filter" data-filter=".category-<?php echo $id; ?>"><?php echo $category; ?></div>
<?php endforeach; ?>
然后,我必须在该列表中的每篇文章或帖子中包含相应的类,如下所示:
<?php if(has_posts()): ?>
<?php $i = 0; while(posts()): ?>
<article class="mix category-<?php echo category_id(); ?>">
<?php endwhile; ?>
<?php endif; ?>
请注意,文章类 category-[num] 对应于 div“过滤器”上的数据过滤器。这就是允许排序的原因。
但是,无论我尝试这样做的任何方式,我都会得到双倍的帖子或只是不工作。我曾尝试使用文档中看到的 foreach 语句:
<?php foreach(Category::dropdown() as $id => $category): ?>
<article class="mix category-<?php echo category_id(); ?>">
<?php endforeach; ?>
但这会使帖子翻倍,我认为是因为它在一个while循环内?
在数据库中,类别和帖子位于两个单独的表中,但类别 ID 包含在帖子表中。我一直在寻找一种方法来回应这一点,例如article_category_id
,但到目前为止没有成功。
如何在帖子列表中包含类别 ID?