4/12に書いた記事の続きです。
以前のコードの書き方だと、非表示に設定したカテゴリーは確かに非表示になるんですが、トップページに表示されていないだけでカウントされています。
要は、トップページに表示する件数(10) ー 非表示しているカテゴリー(2) = 実際の表示件数(8) になり、少々面白くありません。
なもんで、またPHPファイルを弄ってみました。
以前書いていたコード
index.php
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php if (in_category('N')) continue; ?>
この3行目がそもそも間違いでした。
訂正コードは以下。
index.php
<?php query_posts('cat=-N') ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
『 N 』は非表示にしたいカテゴリーのIDです。3行目を削除し、変わりに1行目を追加します。
『 N 』のカテゴリーIDの前に『 – (マイナス)』を付ければ、表示されないしカウントもされません。
前回の記事の追記2で書いた、サイドバーの最終コードは以下。
sidebar.php
<?php query_posts('cat=N&showposts=1'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php if ( ! in_category('N')) continue; ?>
<?php the_content(__('(more...)')); ?>
<?php endwhile; ?>
<?php endif; ?>
『 N 』は非表示にしたいカテゴリーのIDです。ちなみに、サイドバーにあるアーカイブ(最近の記事)に載せない方法は無い・・・のかな?
やり方はあるとは思うんですが、個人的にここだけには載せておきたいのでそのまま放置。
参考書は1冊でもあると、とても役に立ちます。

