現在私はいくつかのカスタマイズされたブログのテンプレート作成に取り組んでいて、カテゴリの最新の投稿がブログ全体の最新の投稿でもあるかどうかを調べる方法があるかどうか疑問に思いました。
基本的に私はこれをどうやってやるかと頼んでいます:(3)=(1)ならば、(3)を飛ばしてカテゴリの中で2番目に新しい投稿を表示します
上記の情報はより一般的/普遍的ですが、特に私のブログに関する追加情報。
私のブログには、ブログから除外され、特定のページにのみ表示されるカテゴリもあります。最初の質問の解決策全体からこのカテゴリをどのように除外しますか?単に'cat' => -123,
を書くだけで十分でしょうか?
そのため、これを行う最も簡単な方法は、最初の投稿(1)
のIDを格納することです。次に、各カテゴリループに次のようにpost__not_in
プロパティを使用できます。
// inside the first loop at the top.
$latest_post_id = get_the_ID();
// WP_Query for fetching each category
$category_query = new WP_Query( [
// other parameters
'post__not_in' => [ $latest_post_id ],
] );
WP_Query
でカテゴリを除外するために、カテゴリIDの配列をとるcategory__not_in
を使うことができます。 WP_Query のwordpressコーデックをチェックする価値は間違いありません。
2番目のクエリでは 'post__not_in'パラメータを使用するだけです。
$query1 = new WP_Query...
$used_posts = array();
while ( $query1->have_posts() ) :
$query1->the_post();
$used_posts[]= get_the_ID();
...
endwhile;
$query2 = new WP_Query( array(
'post__not_in' => $used_posts,
...
) );