2013-11-23 47 views
0

我有一個稱爲Clipper的Wordpress主題與Flatter作爲子主題。Wordpress Query_Posts Combine

主題使用query_output在主頁中輸出結果。我的意圖是按自定義字段「clr_up_vote」進行排序。然而,這導致產出減少到只有'clr_up_vote'數據的職位,其餘部分隱藏。

我開始着手解決由具有的index.php兩個查詢,

$ordered_posts = query_posts(array(
    'post_type' => APP_POST_TYPE 
    , 'ignore_sticky_posts' => 1 
    , 'paged' => $page 
    , 'posts_per_page' => 10 
    , 'offset' => $offset 
    ,'meta_key' => 'clpr_votes_up', 
    'orderby' => 'meta_value', 
    'order' => 'DESC', 
     'meta_query' => array(
     array(
     'key' => 'clpr_votes_up', 
     'meta-value' => $value, 
     'value' => 1, 
     'compare' => '>=' 
     ), 
     array(
        'key' => 'clpr_votes_down', 
        'value' => '', 
        'compare' => 'LIKE' 
      ) 
    ) 


)); 
get_template_part('loop', 'coupon'); 

而且,

$unordered_posts = query_posts(array(
    'post_type' => APP_POST_TYPE 
    , 'ignore_sticky_posts' => 0 
    , 'paged' => $page 
    , 'posts_per_page' => 10-count($ordered_posts) 
    , 'offset' => $offset 
    , 'post__not_in' => $post_ids 
)); 

get_template_part('loop', 'coupon'); 

但現在的分頁似乎並沒有工作。我試圖使用WP_Query,但主題只接受query_posts()。

任何建議將是偉大的。謝謝!

回答

0

從查詢帖子中刪除元查詢。只需將orderby設置爲元值,並將元鍵設置爲clpr_votes_up。

$ordered_posts = query_posts(array(
    'post_type' => APP_POST_TYPE 
    , 'ignore_sticky_posts' => 1 
    , 'paged' => $page 
    , 'posts_per_page' => 10 
    , 'offset' => $offset 
    ,'meta_key' => 'clpr_votes_up', 
    'orderby' => 'meta_value', 
    'order' => 'DESC' 
)); 

如果你想要所有的帖子,然後從查詢中刪除posts_per_page。