2013-06-25 81 views
0

我在我的WordPress站點中有自定義字段(日期),其中包含一個像這樣的值june 16,2013。 我怎樣才能把這個字段當作日期和排序? 有沒有辦法按custon_field日期對帖子進行排序?通過wordpress中的自定義字段排序

我在我的PHP頁面嘗試使用此代碼,

$args = array(
'orderby' => 'meta_value', 
'order' => 'ASC', 
'meta_key' =>'release_date' 
); 
query_posts($args); 

它獲取數據的排序順序,而不是基於日期,本場被視爲字符串不是約會,我該怎麼處理這個如日期?

回答

3

嘗試

$args = array(
'orderby' => "DATE_FORMAT(STR_TO_DATE(meta_value, '%M %d,%Y'), '%Y-%m-%d')", 
'order' => 'ASC', 
'meta_key' =>'release_date' 
); 
query_posts($args); 
+0

@Nisam如果此答案可幫助您解決問題,則您可以將答案投票爲讚賞 –

0

你可以設置你想要在數組中排序的所有日期,並使用strtotime()轉換它們,然後簡單地使用sort()。有可能是一個更有效的方法。

+0

我怎樣才能重新編寫一個查詢? – Nisam

+0

什麼查詢?您沒有提供任何代碼以及您已將此標記爲php –

0

試試這個:

$date = get_post_meta($post->ID, 'link_banner', true); 
$date_convert = strtotime($date); 
$args = array(
'orderby' => 'meta_value', 
'order' => 'ASC', 
'meta_key' =>$date_convert 
); 
query_posts($args); 
相關問題