在“category.php”文件中,我需要以这种奇怪的方式对我的帖子进行排序:
- 首先是作者与“admin”不同的所有帖子(按标题字母顺序)
- 比“admin”的所有帖子(以相同的字母顺序)
这是我用来进行查询的标准代码:
<?php global
$wp_query;
query_posts(
array_merge(
array('orderby' => 'title', 'order' => 'ASC'),
$wp_query->query
)
);
?>
关于如何在不嵌套两个查询的情况下完成它的任何想法?
提前致谢!
编辑:以下是一些尝试过的代码,正如 Sepster 在他的答案的先前版本中所建议的那样。但目前这段代码开始显示来自“admin”(而不是其他)的所有帖子,直到作者不同于“admin”的帖子出现。此时它会破坏结果并跳转到下一页结果。
<?php
global $wp_query;
query_posts(
array_merge(
array('orderby' => 'title', 'order' => 'ASC'),
$wp_query->query
)
);
$adminPosts = false;
for ($i=1; $i<=2; $i++) {
while ( $wp_query->have_posts() ) {
$wp_query->the_post();
$author = get_the_author();
if ($author == 'admin' && $adminPosts == false) break;
if ($author != 'admin' && $adminPosts == true) break;
// ALL MY STUFF
} // end while
rewind_posts();
$adminPosts=true;
} // end FOR
?>