2014-02-07 17 views
1

我正在建立一個電影檔案。對於每部電影我填寫了3個國家的發行日期,它們存儲爲自定義字段(通過Pod添加)WordPress的:比較3個自定義字段和最舊的排序

現在,當列出電影時,我想要構建一個數組並循環遍歷每個帖子來檢查如果字段具有值,則比較值並按第一個日期(最早或最近的日期)排序。如果沒有任何字段具有值,則應使用發佈日期進行排序。我使用此代碼類似的東西

 function orderby_additionaldate($query) { 
if (! is_admin() && $query->is_main_query() && is_category(array(2,57,530)) || cat_is_ancestor_of(2, get_query_var('cat')) && $query->is_main_query() && ! is_admin() || cat_is_ancestor_of(57, get_query_var('cat')) && $query->is_main_query() && ! is_admin() || cat_is_ancestor_of(530, get_query_var('cat')) && $query->is_main_query() && ! is_admin()) { 
    if ($query->query_vars) { 
     $query->set('order', 'DESC'); 
     $query->set('meta_key', 'additional_date'); 
     $query->set('orderby', 'meta_value'); 
    } 
} 
} 
add_action('pre_get_posts', 'orderby_additionaldate'); 

2個東西都是從這個丟失: 它不是在比較3元鍵值(release_f,release_uk和release_us),它不檢查,如果他們中的一個是空的,使用發佈日期,而不是(它只是設置空的,以1970年1月1日的價值)

回答