[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」をリセット ?>