【问题标题】:Wordpress - Order by meta_value_num not workingWordpress - 按 meta_value_num 排序不起作用
【发布时间】:2017-11-29 21:26:07
【问题描述】:

我的分类术语有一个元数据,每次使用时都会递增,如下所示:

$count = get_term_meta($id, 'used', true);
update_term_meta($id, 'used', $count ? (intval($count) + 1) : 1);

但是当我试图获取按此元排序的术语时,meta_value_num 似乎没有做任何事情,并且我的术语仍然是有序的,就像 used 元是一个字符串一样。

$terms = get_terms([
    'taxonomy' => 'contract_type',
    'meta_key' => 'used',
    'order_by' => 'meta_value_num',
]);
foreach ($types as $key => $type) {
    $types[$key]->used_count = get_term_meta($type->term_id, 'used', true);
    $types[$key]->used_count_type = gettype($types[$key]->used_count);
}

这就是返回的内容:

Array
(
    [0] => WP_Term Object
        (
            ...
            [used_count] => 110
            [used_count_type] => string
        )

    [1] => WP_Term Object
        (
            ...
            [used_count] => 1995
            [used_count_type] => string
        )

    [2] => WP_Term Object
        (
            ...
            [used_count] => 810
            [used_count_type] => string
        )

)

我已经尝试了所有我能找到的请求变体(用meta_query 代替,meta_type 等)但没有运气,所以我怀疑问题出在元数据的类型上,但是我看不出我还能做些什么来强迫他保存 int 而不是 string

有什么想法吗?

【问题讨论】:

    标签: php wordpress sql-order-by


    【解决方案1】:

    我认为是orderby 而不是order_by,不是吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-08
      • 2018-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 2018-04-17
      相关资源
      最近更新 更多