我正在尝试查询wordpress中的帖子,到目前为止一直很好。但是,我想在所有人面前展示一个带有特定标签“信息”的帖子(即使在粘性前面)。
我以为我可以将查询合并到这样的数组中:
$posts = array( 'post__in' => $sticky, 'order' => $order_posts, 'ignore_sticky_posts' => 1, 'paged' => $paged );
$infoposts = array('tag' => 'info', 'post__in' => $sticky);
query_posts ( array_merge( $infoposts, $posts ));
然而,这只会发布$ infoposts数组帖子。如何获得这两个帖子以及首先使用'info'标签的帖子?
怎么做?
谢谢!
答案 0 :(得分:0)
array_merge
将您的数组合并在一起,var_dump array_merge( $infoposts, $posts )
的结果,看看我的意思。
AFAIK您需要执行2个单独的查询,一个用于粘贴帖子,另一个用于其他帖子。
- 编辑 -
$sticky = get_posts($infoposts);
$rest = get_posts($posts);
$all = array_merge($sticky, $rest);
foreach ( $all as $post ) : setup_postdata( $post ); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endforeach;
wp_reset_postdata(); // this is important ?>
</ul>
tldr:使用 get_posts 代替查询帖子
http://codex.wordpress.org/Function_Reference/query_posts http://codex.wordpress.org/Template_Tags/get_posts