2014-09-24 135 views
0

我有自定義帖子類型叫做需求。我想在網站的前端顯示需求清單。WordPress數據庫自定義按帖子類型排序

這是要求列表我的模板文件代碼:

<div id="listing_loader">Loading...</div> 
      <div id="listing_ajax_container"> 



      <?php 
      wp_reset_query(); 
      $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
      if(is_front_page()){ 
       $paged = (get_query_var('page')) ? get_query_var('page') : 1; 
      } 

      $args = array(
       'post_type'   => 'requirement', 
       'post_status'  => 'publish', 
       'paged'    => $paged, 
       'posts_per_page' => $prop_no, 

       'orderby'   => 'meta_value', 
       'order'    => 'DESC', 


      ); 
     // print_r($args); 
      add_filter('posts_orderby', 'my_order'); 
      $prop_selection = new WP_Query($args); 
      remove_filter('posts_orderby', 'my_order'); 
      $counter = 0; 

      while ($prop_selection->have_posts()): $prop_selection->the_post(); 
       include(locate_template('req-listing.php')); 
      endwhile; 
      wp_reset_query();    
      ?> 
      </div> 

我得到WordPress database error: [Unknown column 'wp_postmeta.meta_value' in 'order clause']錯誤。

那我該如何解決呢?

回答

0

當使用自定義WP_Query,你要訂購的結果通過自定義字段meta_value你應該注意,meta_key=keyname也必須在查詢目前

例如:

$query = new WP_Query(array ('post_type' => 'requirement', 'orderby' => 'meta_value_num', 'meta_key' => 'price'));

還要注意,排序爲字母是細的字符串(即字),但可以是意想不到的對數字(例如,1,3,34,4, 56,6等,而不是你自然期待的1,3,4,6,34,56)。使用meta_value_num代替數字值。

有關詳細信息,請參閱here

相關問題