私は3つのカテゴリーがあります、
1.進行中のプロジェクト(cat id = '5')
2.完成したプロジェクト(cat id = '6')
3.今後開催されるプロジェクト(カタログID = '7')
また、私は別の2つのカテゴリがあります:( サブカテゴリではありません )
チェンナイ(cat id = '10 ')
ドバイ(cat id = '11)
" Chennai "カテゴリで " OnGoing Projects "から投稿を取得するにはどうすればよいですか?(私はChennaiの[表示] - > [OnGoingプロジェクト]をクリックします。
私は以下のコードを試しました:
<?php
query_posts('posts_per_page=6&cat=5&cat=10');
while(have_posts()) : the_post();
?><li>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(230,192)); ?></a>
</li>
<?php endwhile;
wp_reset_query();
?>
" ドバイ "カテゴリで " OnGoing Projects "を表示する可能性がありますか。 (ドバイで進行中のプロジェクト)
<?php
query_posts('posts_per_page=6&cat=5&cat=11');
while(have_posts()) : the_post();
?><li>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(230,192)); ?></a>
</li>
<?php endwhile;
wp_reset_query();
?>
これは完全には機能していません。
把握するのを助けてください。
ありがとうございます。
ここで推測しているだけですが、query_posts()
はこの状況では適切ではないと思います。 query_posts()
はメインのクエリを変更するためだけに使用されるべきです、そして、新たなベストプラクティスはquery_posts()
はまったく使用されるべきではなく、代わりにフィルタリングpre_get_posts
に置き換えられるべきです。
以上のことを説明したので、WP_Query
、特に tax_query
引数 を調べます。
新しいスニペットは次のようになります。
<?php
$my_query_args = array(
'posts_per_page' => 6,
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => array( 5, 10 ),
'operator' => 'AND'
)
)
);
$my_query = new WP_Query( $my_query_args );
if( $my_query->have_posts() ) : while( $my_query->have_posts() ) : $my_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(230,192)); ?></a>
</li>
<?php endwhile; endif; wp_reset_postdata(); ?>