Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress按数字排序自定义字段会给出不同的结果_Php_Wordpress - Fatal编程技术网

Php Wordpress按数字排序自定义字段会给出不同的结果

Php Wordpress按数字排序自定义字段会给出不同的结果,php,wordpress,Php,Wordpress,我有一个查询,它给了我按类别排序的自定义帖子类型帖子和一个自定义字段,该字段有一个数字,指示该帖子的投票量。问题是,如果两篇文章有3票,有时当你刷新时,它会改变他们的位置。代码如下: $args = array( 'numberposts' => 10, 'post_type' => 'nominees', 'meta_query' => array( array( 'key' =>

我有一个查询,它给了我按类别排序的自定义帖子类型帖子和一个自定义字段,该字段有一个数字,指示该帖子的投票量。问题是,如果两篇文章有3票,有时当你刷新时,它会改变他们的位置。代码如下:

$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子句。不过很高兴事情进展顺利!