Wordpress:按自定义字段按数字顺序排序

时间:2010-07-27 16:24:31

标签: wordpress sorting field

如何以数字方式对自定义字段数据进行排序,以字符串形式存储。我无法将其更改为数据库。

query_posts($query_string. '&orderby=meta_value&meta_key=price&order=DESC' );

这就是我正在使用的,但是它将它排序为字符串,因为它也存储为字符串。

有谁能告诉我如何在不改变数据库的情况下将其转换为数字?

提前致谢。

迷宫般

1 个答案:

答案 0 :(得分:0)

您可以使用custom query string来填充字符串元数据:

$querystr = "
    SELECT wposts.*
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
    WHERE wposts.ID = wpostmeta.post_id
    AND wpostmeta.meta_key = 'price' 
    AND wposts.post_type = 'post'
    ORDER BY ABS(wpostmeta.meta_value) DESC
";

如果您的元值包含美元符号($ 123.45),您可以调整ORDER BY来删除它:

    ORDER BY ABS(SUBSTRING(wpostmeta.meta_value, 2)) DESC
相关问题