Php Wordpress按数字排序自定义字段会给出不同的结果
我有一个查询,它给了我按类别排序的自定义帖子类型帖子和一个自定义字段,该字段有一个数字,指示该帖子的投票量。问题是,如果两篇文章有3票,有时当你刷新时,它会改变他们的位置。代码如下:Php Wordpress按数字排序自定义字段会给出不同的结果,php,wordpress,Php,Wordpress,我有一个查询,它给了我按类别排序的自定义帖子类型帖子和一个自定义字段,该字段有一个数字,指示该帖子的投票量。问题是,如果两篇文章有3票,有时当你刷新时,它会改变他们的位置。代码如下: $args = array( 'numberposts' => 10, 'post_type' => 'nominees', 'meta_query' => array( array( 'key' =>
$args = array(
'numberposts' => 10,
'post_type' => 'nominees',
'meta_query' => array(
array(
'key' => 'category',
'value' => get_the_ID(),
'compare' => '=',
)
),
'orderby' => 'meta_value_num',
'order' => 'DESC',
'meta_key' => 'count_nominees'
);
我尝试在分类元查询中添加顺序,但没有任何变化,如果帖子的投票数相同,刷新时有时仍然会得到不同的结果。通过ID或其他方式添加第二个订单的正确方式是什么
谢谢。如评论中所述,我认为,但是您可以在针对您的用例的搜索查询中对其进行扩展,使其更具体一点
$args = array(
'numberposts' => 10,
'post_type' => 'nominees',
'meta_query' => array(
array(
'key' => 'category',
'value' => get_the_ID(),
'compare' => '='
)
),
'meta_key' => 'count_nominees',
'orderby' => array(
'count_nominees' => 'DESC',
'ID' => 'DESC'
)
);
仅当他们属于类别xyz
时,才应在提名人的职位类型中获得10个职位,并具有count_被提名人
的post meta,并按count_被提名人
的降序排列,然后按post ID
的降序排列
您可以使用WordPress codex上的文档了解有关使用post元数据的复杂查询的更多信息。您检查过这个吗?:您也可以检查一下:@Klian好吧,我的是相同的,问题是我的字段是numeric@Chintan对但这不同于我的案例排序,将结果与id或其他最合适的东西一起排序,以消除相同计票结果的波动。这确实有效,但我很惊讶它在没有meta_value_num的情况下能工作,因为上次我检查时,当按自定义字段排序时,它需要使用num才能获得正确的排序,嗯,所以我有点困惑,我认为这是因为它正在寻找meta_value_num
作为一个不存在的列名(至少在默认情况下)所以它只是跳过了order子句。不过很高兴事情进展顺利!