我有3个类别,
1.正在进行的项目(cat id=\'5\')
2、已完成项目(cat id=\'6\')
3、即将进行的项目(cat id=\'7\')
我还有另外两个类别:(Not a Sub Category)
金奈(cat id=\'10\')
迪拜(cat id=\'11)
如何从“获取帖子”OnGoing Projects“使用”Chennai“类别?(我喜欢显示->金奈正在进行的项目。)
我尝试了以下代码:
<?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“使用”
Dubai“类别”(迪拜正在进行的项目):
<?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();
?>
这没有完全起作用。
请帮我弄清楚。
谢谢,我先走了。
最合适的回答,由SO网友:mrwweb 整理而成
我只是在猜测,但我怀疑query_posts()
在这种情况下是不合适的。query_posts()
应该只用于修改主查询,新兴的最佳实践是query_posts()
根本不应该使用,而是用过滤代替pre_get_posts
.
说了这么多,我会调查WP_Query
尤其是tax_query
argument.
您的新代码段如下所示:
<?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(); ?>