2011-09-13 35 views
0

一直試圖讓我的查詢的一部分運行一段時間,但它似乎只是被完全忽略。在wordpress循環中使用orderby

我在我的自定義發佈類型稱爲accordion_order中有一個自定義字段。它代表了它應該在循環中顯示的位置。也就是說,如果輸入1,則帖子將位於列表的頂部,如果輸入1000,則顯示在底部。

這裏是我的代碼:

$course_loop = new WP_Query(array('post_type' => 'post_type_name_here', 'posts_per_page' => 0, 'orderby'=> 'accordion-order', 'order' => 'desc')); 

所有幫助表示讚賞,

問候, 戴夫

編輯:::

#1不會讓我將其添加爲一個回答,所以如果任何人都可以爲我做,我會投它,我會很感激。

使用下面的代碼固定它:

$course_loop = new WP_Query(array('post_type' => 'post_type_name_here', 'posts_per_page' => 0, 'meta_key' => 'accordion-order', 'orderby'=> 'meta_value_number', 'order' => 'desc')); 

回答

1

由DaveØ德懷爾回答

(使用下面的代碼固定它):

$course_loop = new WP_Query(array('post_type' => 'post_type_name_here', 'posts_per_page' => 0, 'meta_key' => 'accordion-order', 'orderby'=> 'meta_value_number', 'order' => 'desc')); 
+0

編輯:看着上面,事實證明,它不是在工作。有沒有人有任何想法? 乾杯, Dave –

+0

orderby應該是「meta_value_num」,而不是「meta_value_number」。 (截至Wordpress 3.5.1。我不知道舊版本。) – David

1

它不應該是像這樣:

$course_loop = new WP_Query(array('post_type' => 'post_type_name_here', 'posts_per_page' => 0, 'meta_key' => 'accordion-order', 'orderby'=> 'meta_value', 'order' => 'desc')); 

將meta_value_number更改爲meta_value。