2016-11-30 13 views
1

私のウェブサイトのホームページにビデオカテゴリがあります。 ビデオカテゴリというタクソノミーと、ビデオリストと呼ばれるカスタムポストタイプがあります。タクソノミのカテゴリを取得するには、最新のものから古いものにワードプレスで記事の日付を取得する

私は最も古い最新からそのポストするために、分類カテゴリを表示する必要があります。だから、今日のビデオ投稿を1つ公開すれば、最新の投稿が最新の日付になり、残りが最新のものから古いものに変わるため、現在の投稿カテゴリは一番上になければなりません。

私はどこから始める必要があるか分かりません。最新の投稿を取得し始め、次のものがわからない。

何私が現在最も望ましい結果は、ポスト等、最新の公表日と残り

を持っている最初のカテゴリを表示することで、以下のコード

<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

はネストされたループを使用します---ただ1つのカテゴリの種類のクエリを実行する1つのループと、その特定のカテゴリと日付の順序をクエリする別のクエリ.. – mike510a

+0

あなたは日付ですべての投稿を取得し、@ mike510a ? –