特定のカテゴリーを除外して表示する方法

トップページなどで、特定のカテゴリーだけを表示する場合は、get_postsの引数に入れるカテゴリーを扱うcatにカテゴリーIDを設定します。

get_postsの例

下のコードでは、カテゴリーIDが32のものだけ表示するようになります。

<?php $mypost = get_posts('cat=32&paged='.$paged); ?>

逆に、カテゴリーIDが32の記事だけ表示しないようにするには、マイナスをつけます。

<?php $mypost = get_posts('cat=-32&paged='.$paged); ?>

query_postsの例

同じように特定のカテゴリーに属する記事を表示しないようにするには、カテゴリーIDにマイナスをつけます。

<?php query_posts('cat=-32&paged='.$paged); ?>

カテゴリーIDにスラッグを設定する場合

特定のカテゴリーだけ表示するときにカテゴリーIDにスラッグを設定する場合、仮にカテゴリーのスラッグがinfoならにあるcategory_nameにスラッグ名をあてます。

<?php $mypost = get_posts('category_name=info&paged='.$paged); ?>

除外する場合、スラッグにマイナスを付けたいところなんですが、上手くいきませんので、スラッグからget_category_by_slugを使いカテゴリーIDを得て、それをカテゴリーIDを設定するcatに設定します。

<?php $cat_slug = get_category_by_slug(info); ?>
<?php $mypost = get_posts('cat='.-$cat_slug->cat_ID.'&paged='.$paged); ?>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です