カスタムタクソノミーのアーカイブで記事が表示されないときの解決法
WordPressでカスタム分類(タクソノミー)をつくってアーカイブページを表示させるつもりが、あるはずの記事が表示されないという状態になってしまったので、解決までの方法を解説します。
テンプレートでの取得方法
カスタムタクソノミーアーカイブのテンプレートは下記の優先順位で読み込まれます。
- taxonomy-$taxonomy-$term.php
- taxonomy-$taxonomy.php
- taxonomy.php
- archive.php
- index.php
今回は「taxonomy.php」を準備して、いつもどおりにタイトルだけを読み込むだけの標準のループ関数を書いていました。
<?php if(have_posts()): while(have_posts()): the_post();?>
<h1><?php the_title(); ?></h1>
<?php endwhile; else: ?>
<p>記事はありません</p>
<?php endif; ?>
しかし、これで表示されないというトラブルが発生しました。
functions.phpを修正したら回復
カスタムタクソノミーを実装するには、プラグインをつかう方法やfunctions.phpに直接関数を追加する方法がありますが、今回は後者でおこなっていました。
そのfunctions.phpを見直したところ「exclude _From_Search」が「true」になっています。
これは、このカスタムタクソノミーの検索対象から除外するかどうかという設定なのですが、これを「false」に変更したら、回復しました。