2016-11-30 34 views
1

我在我的網站主頁上有視頻類別。有一個稱爲視頻類別和自定義帖子類型稱爲視頻列表的分類。我如何獲得分類學類別,以便他們在wordpress中的發佈日期從最新到最早

我需要顯示分類別類別,以便其帖子日期最近到最早的。所以這意味着如果我今天發佈一個視頻帖子,當前帖子類別必須處於最佳狀態,因爲它的帖子有最新日期,其他帖子應該從最新到最舊。

我不知道從哪裏開始。開始獲取最新的帖子,不知道下一個是什麼。

我目前已經通過與下面的代碼

<ul class="catLists"> 
          <?php 
         $video_args = array(
          'hide_empty' => true, 
          'fields' => 'all', 
          'hierarchical' => true, 
          'child_of' => 0, 
          'get' => '', 
          'name__like' => '', 
          'pad_counts' => false, 
          'taxonomy' => 'video-category', 
          'cache_domain' => 'core' 
         ); 
         $v_terms = get_terms('video-category', $video_args); 
         $coount = 1; 
         global $wpdb; 
         foreach($v_terms as $key => $term) { 
          $count_views = $wpdb->get_results($wpdb->prepare(" 
           SELECT SUM(pm.meta_value) AS view_count FROM {$wpdb->postmeta} pm 
           LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id 
           LEFT JOIN {$wpdb->term_relationships} tr ON p.ID = tr.object_id 
           LEFT JOIN {$wpdb->term_taxonomy} tt ON tr.term_taxonomy_id = tt.term_taxonomy_id 
           WHERE pm.meta_key = 'post_views_count' 
           AND tt.taxonomy = 'video-category' 
           AND tt.term_id = %d 
          ", $term->term_id)); 

          // Add to the category object the result 
          $v_terms[$key]->count_views = (!empty($count_views)) ? $count_views[0]->view_count : 0; 


         } 
         function cmp($a, $b) { 
          if ($a->count_views == $b->count_views) { 
           return 0; 
          } 
          return ($a->count_views > $b->count_views) ? -1 : 1; 
         } 
         usort($v_terms, "cmp"); 
         foreach ($v_terms as $v_term) { 
          $term_link = get_term_link($v_term, 'video-category'); 
          if($coount < 7){ 
          ?> 
        <li class="video_<?php echo $v_term->term_id; ?>_term" id="<?php echo $coount++ ?>"> 
         <a href="<?php echo $term_link ;?>" id="<?php echo $v_term->term_id; ?>"><?php echo $v_term->name; ?></a> 
         <span class="active_tab_border"></span> 
        </li> 
         <?php }else{?> 
       <?php if($coount == '7') { ?> 
       </ul> 

期望的結果是,以顯示其中第一個帖子有最新公佈日期,其餘等

類別最多觀看顯示它們先謝謝您的幫助。

+0

退房https://codex.wordpress.org/Class_Reference/WP_Query – mike510a

+0

是的,但如何讓他們的類別將最新的帖子當新帖子動態改變類別的順序? –

+0

您能否提供一個基本示例,顯示「之前和之後」或預期輸入和期望結果? – mike510a

回答

0

您可以用單一WP_Query做

https://codex.wordpress.org/Class_Reference/WP_Query

$args = array(
    'post_type' => 'video-list', 
    'orderby' => 'date', 
    'category_name' => 'video-category' 
); 
$query = new WP_Query($args); 
+0

但是這將只返回所有帖子的日期順序,我需要他們分類,因此需要通過每個類別中的所有帖子,檢查日期和順序取決於。 –

+0

使用一個嵌套的循環---一個循環爲查詢只查詢類別類型,然後查詢另一個查詢查找該特定類別並按日期排序的查詢。 – mike510a

+0

您的意思是按日期查找所有帖子,然後按類別排序@ mike510a ? –

相關問題