1

私がやろうとしていること:投稿はAタイプまたはBタイプに分類できます。そして、Aに分類された投稿の数、Bにある投稿の数、および合計をカウントするアーカイブを作成したいと思います。

問題:私のコードは、カテゴリAでは12投稿のようにカウントされます。カテゴリBでは5カウントされます。しかし、両方のカテゴリで12カウントされます。

なんで?

私のコード:

$posts_a = new WP_Query('cat=5&category__and=30');
$count_a = $posts_a->post_count;
//gives 12

$posts_b = new WP_Query('cat=5&category__and=29');
$count_b = $posts_b->post_count;
//gives 5

$posts_all = new WP_Query('cat=5');
$count_all = $posts_all->post_count;
//gives 12. It should be at least 12+5.

A+Bを合計したくありません。何が悪いのか知りたい。

ありがとう

4

1 に答える 1

3

クエリを見ると、カテゴリが2つしかないようには見えません。私ができることから、A、B、Cの3つのカテゴリがあります。

クエリと結果からわかるように、カテゴリAとBには12件の投稿があり、カテゴリAとCには5件の投稿があります。

また、category__andを誤って使用しているため、混乱の原因になっている可能性があります。

検索している2つのカテゴリIDを教えてください。あなたがそれらに言及した後、私は質問を投稿します。

編集:あなたはおそらくこれが必要です:

$posts_a = new WP_Query(array('category__and'=>array(5,30),'posts_per_page'=>-1));
$count_a = $posts_a->post_count;

$posts_b = new WP_Query(array('category__and'=>array(5,29),'posts_per_page'=>-1));
$count_b = $posts_b->post_count;

$posts_all = new WP_Query('cat=5&posts_per_page=-1');
$count_all = $posts_all->post_count;

また、これはおそらく明白な答えであり、あなたのカテゴリ構造はわかりませんが、29は30の子カテゴリですか?

于 2013-01-04T19:35:25.660 に答える