我的搜索结果仅限于帖子类型book
和author
. 中的以下代码search.php
显示全部author
先发布,然后全部发布book
岗位(一)asked 为什么帖子类型是这样分开的,但到目前为止还没有得到答案):
while(have_posts()) : the_post();
if ( \'book-author\' == get_post_type() ) {
?>
<h2>AUTHOR</h2>
<?php the_title();
}
elseif ( \'book\' == get_post_type() ) {
?>
<h2>BOOK</h2>
<?php the_title();
}
endwhile;
然而,我想在两个标题为“BOOKS”和“AUTHORS”的列中显示这些搜索结果,每个列都有自己的搜索结果
div
要素这段代码不允许这样,那么我如何才能实现这样的划分呢?
最合适的回答,由SO网友:Steven Jones 整理而成
有两种选择。
第一个也是可能最简单的选项是在页面上的每个位置运行两次查询。
// Author Block
while(have_posts()) : the_post();
if ( \'book-author\' == get_post_type() ) {
?>
<h2>AUTHOR</h2>
<?php the_title();
}
endwhile; rewind_posts();
// Book Block
while(have_posts()) : the_post();
if ( \'book\' == get_post_type() ) {
?>
<h2>BOOK</h2>
<?php the_title();
}
endwhile;
注意:我用过
rewind_posts()
在重置post计数器的第一个循环之后。
第二个选项是过滤WordPress查询executes 或者在得到结果后对其进行排序,但是对于此解决方案,您应该可以使用上面的代码。