我阅读了很多关于按自定义字段排序的内容,但无法找到此问题的答案。
我有2种帖子类型:机构和课程。 机构有一个定制领域" area" 课程有一个自定义领域" inst"其中包含该机构的ID。
现在我有一个显示课程搜索结果的页面,我想按照他们所链接的机构区域对它们进行排序。 获得结果后自定义php排序不是一个选项,因为我使用ajax分页(然后我只能对特定页面的结果进行排序)。
如何在WP_Query中进行排序?
答案 0 :(得分:0)
通过使用此代码解决了它的混乱问题,并显示了所有结果(如果选择了此过滤器...仍然无法分页)。
if ($orderby_area) { /* Code for sorting by institution area */
foreach ($query->posts as $program) {
$program->institution_area = get_post_meta(get_post_meta($program->ID,'institution ',true),'area',true);
$program->mossad = get_the_title(get_post_meta($program->ID,'institution ',true));
}
usort($query->posts, function($a, $b)
{
if ($a->inst_area==$b->inst_area)
return $a->institution >$b->institution ;
return $a->institution_area>$b->institution_area;
});
$programs = array_slice($query->posts,($getpage-1)*20,20);
}