【问题标题】:[Wordpress 4.6][Query] Ordering not working[Wordpress 4.6][Query] 排序不工作
【发布时间】:2017-11-17 08:54:58
【问题描述】:

我目前正在开发一个电子商务网站,我们发现最好的销售小部件没有按预期订购产品。

我测试了查询的参数,它们似乎是正确的,无论我选择什么顺序,查询都拒绝订购产品。

这里是一个例子:

$args = array(
                'post_type'             => 'product',
                'post_status'           => 'publish',
                'numberposts'           => -1,
                'meta_key'              => 'total_sales',
                'orderby'               => 'meta_value_numeric',
                'meta_type'             => 'NUMERIC'
            );

$products = get_posts( $args );

foreach ($products as $key => $product) {
    $sales = get_post_meta($product->ID, 'total_sales');
    echo $sales[0];
}

结果如下:

144
1981
70
26
65
84
148
109
748
48
15
78

我查了数据库,值是数字(不是数组,否则)。

检查后,它们按日期(DESC)排序。

我尝试了以下方法:
- 使用 meta_value_num 或 meta_value 设置 orderby。
- 删除 meta 并选择 orderby 标题。

但他们都没有订购结果。

我曾在其他网站上处理过此类请求,但从未遇到过订购问题。

有人知道问题出在哪里吗?

谢谢,

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    在您的查询中尝试使用:

    'orderby' => 'ID'

    或者

    您还可以使用 asort($products) 对 $products 数组进行排序。

    访问http://php.net/manual/fr/function.asort.php了解更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多