我通過使用自定義字段「訂購」來訂購我的文章。Wordpress自定義郵政訂購問題
對於每個帖子,訂單的價值是一個數字,它決定了我希望帖子被定位的位置。
我有以下幾點:
query_posts('category_name=category&meta_key=order&orderby=meta_value&order=ASC');
這似乎已經工作得很好,直到後#10,在列表中的第2本帖位置本身。
任何想法,我要去哪裏錯了?
我通過使用自定義字段「訂購」來訂購我的文章。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