Wordpress自定义邮政订购问题
问题描述:
我通过使用自定义字段“订购”来订购我的文章。Wordpress自定义邮政订购问题
对于每个帖子,订单的价值是一个数字,它决定了我希望帖子被定位的位置。
我有以下几点:
query_posts('category_name=category&meta_key=order&orderby=meta_value&order=ASC');
这似乎已经工作得很好,直到后#10,在列表中的第2本帖位置本身。
任何想法,我要去哪里错了?
答
好的,在别处找到答案。
由于自定义字段值是字母而不是数字。你必须开始与01您的订购,02,03 ... 10,11
,而不是1,2,3 ... 10,11
答
另一种选择是创建一个custom query string抛给你的字母作为顺序小数BY子句的自定义字段:
$querystr = "
SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'your-custom-field-name'
AND wposts.post_type = 'post'
ORDER BY CAST(wpostmeta.meta_value AS DECIMAL) DESC
";
答
WordPress是治疗值作为字符串进行排序,那么10来1次,只需更改以下
orderby=meta_value
到(值将被视为数)
orderby=meta_value_num
当由数排序,使用meta_value_num代替meta_value,使WordPress的TRET值作为一个数而不是字符串。
我也遇到了同样的问题,谢赫赫拉帮我解决问题,它像一个魅力。
这也是一个很好的解决方案。谢谢。 – Oldie 2010-07-30 11:11:54