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; ?>
article クラスの category-[num] は、div "filter" の data-filter に対応していることに注意してください。これがソートを可能にするものです。
ただし、これを実行しようとすると、投稿が2倍になるか、機能しなくなります。ドキュメントに見られるように、 foreach ステートメントを使用してみました:
<?php foreach(Category::dropdown() as $id => $category): ?>
<article class="mix category-<?php echo category_id(); ?>">
<?php endforeach; ?>
しかし、これにより投稿が2倍になります。whileループ内にあるためだと思いますか?
データベースでは、カテゴリーと投稿は 2 つの別個のテーブルにありますが、カテゴリー ID は投稿テーブルに含まれています。私はこれをエコーする方法を探しましたarticle_category_id
が、これまでのところ成功していません。
投稿リストにカテゴリ ID を含めるにはどうすればよいですか?