[wp] query_postsで検索結果から特定のカテゴリを含めないように指定する。
Magic Fieldsを使っていると必要な場面が多々あるのです。
Magic Fieldsを使って特例のエリアの更新をカテゴリをキーにしてその中の投稿で行う場合があるので、検索に引っ掛けたくないカテゴリや投稿が出てくる。そんな時。
記述方法
『category__not_in』のarrayに排除したいカテゴリIDを列挙(例:1,2,3,4)
『post__not_in』のarrayに排除したい投稿IDを列挙(例:5,6,7)
<?php query_posts(array('category__not_in' => array(1,2,3,4),'post__not_in' => array(5,6,7))); ?>
記述例
『posts_per_page』に表示しさせたい件数
『orderby』でID順か更新日順か等指定
『order』で降順/昇順を指定
『posts_per_page』に表示しさせたい件数を指定
『category__not_in』のarrayに除外したいカテゴリIDを列挙(例:1,2,3,4)
『post__not_in』のarrayに除外したい投稿IDを列挙(例:5,6,7)
<?php
//他のquery_postsが継承されてしまう為、カテゴリ指定をデフォルトに戻す
query_posts($query_string);
//『posts_per_page』に表示しさせたい件数
//『orderby』でID順か更新日順か等指定
//『order』で降順/昇順を指定
//『posts_per_page』に表示しさせたい件数
//『category__not_in』のarrayに除外したいカテゴリIDを列挙(例:1,2,3,4)
//『post__not_in』のarrayに除外したい投稿IDを列挙(例:5,6,7)
query_posts('posts_per_page=10&orderby=date&order=DESC&array('category__not_in' => array(1,2,3,4),'post__not_in' => array(5,6,7))');
?>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
〜 ここでループ 〜
<?php endwhile; ?>
<?php else : ?>
<p>該当する記事がありませんでした。</p>
<?php endif; ?>
<?php
wp_reset_query();//最後に「query_posts」をリセット
?>
