你可以,在搜索中。php模板页面,首先使用get\\u categories获取类别。
然后在循环中,您可以循环浏览类别,以查看搜索结果是否具有该类别。如果是,请将其置于类别的索引下。在这里,您不会显示任何内容,只需构建阵列即可。
然后在循环之后,您可以使用foreach显示按类别排序的搜索结果。
这样,如果结果不止是一个类别,它将为每个类别显示。
更新
代码应该是这样的,内部搜索。主题中的php。
1) 循环之前:
$my_cat_array = array()
$my_cats = get_categories();
获取类别。
2) 回路内部:
foreach ($my_cats as $my_cat) {
if (in_category( $my_cat->term_id)) {
$my_cat_array[$my_cat->term_id][] = $post;
}
}
对于每个类别,它检查当前帖子是否有该类别,如果有,则将其存储在数组中。
3) 循环后:
global $post;
foreach($my_cat_array as $cat_id => $posts_from_category) {
$current_cat = get_category($cat_id);
echo "Search result from category ". $current_cat->name;
foreach($posts_from_category as $post) {
setup_postdata($post);
// here would go the display code
}
}
也许他们还有其他方法可以做到这一点,虽然我还没有真正尝试过,但这应该是可行的,所以可能会有一些错误。如果您确实尝试了它,但它会出现错误,请告诉我,我会尽力提供帮助。