カテゴリを1,2に設定してget_posts()を実行した場合、カテゴリ1 OR 2.のすべての投稿が表示されます。その要求?
codex に書かれているように、あなたは以下を使うことができます
$query = new WP_Query( array( 'category__and' => array( 2, 6 ) ) );
//投稿はID 2 AND 6のカテゴリーになければなりません
コーデックス は言う:
注: categoryパラメーターは、カテゴリー名ではなく、カテゴリーのIDにする必要があります。
注:
get_posts()
関数はWP_Query
として 'category'パラメーターを直接'cat'
に渡すため、categoryパラメーターはコンマ区切りのカテゴリーのリストにすることができます。
そのため、WP_Query()
の カテゴリパラメータ - cat
と同じになります。
WP_QUERYクラスを使用して、特定のカテゴリの投稿を検索することができます。これは例です。
$query = new WP_Query( 'cat=2,6,17,38' );
これは link であり、そこでは彼らが結果を使用してループを構築して結果の中に投稿を表示する方法を説明しています。
get_posts()
関数を使うより簡単な方法があります。
<?php $args1 = array( 'posts_per_page' => 6, 'offset'=> 0, 'category' => array(2,3,25,30));
$myposts1 = get_posts( $args1 );
foreach ( $myposts1 as $post ) : setup_postdata( $post ); ?>
<div class="each-post col-lg-aynk col-md-aynk col-sm-aynk col-xs-aynk">
<a href="<?php the_permalink(); ?>">
<h2><?php the_title(); ?></h2>
</a>
<a href="<?php the_permalink(); ?>">
<div class="news-story-img">
<?php if (class_exists('MultiPostThumbnails')) : MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); endif; ?>
<?php the_post_thumbnail( get_permalink() ); ?>
</div>
</a>
</div>
<?php endforeach;
wp_reset_postdata();?>
実際には、get_posts()
とcategory__and
を直接使用できます。
$posts = get_posts(array( 'category__and' => array(1,2) ));
検索パラメータとして category_name を使用する場合は、WP_Query( array("category_name" => "cat_1+cat_2+...+cat_n") )
を使用できます。ここで、cat_1, cat_2, ... , cat_n
は all クエリから返される必要があるカテゴリです。
ドキュメントはこちら Codex Wordpress