• カテゴリを、カテゴリ内の記事の更新時間を元に並び替えたいと思っています。
    カテゴリは全部で、300カテゴリほどあり、その中から70カテゴリを表示したいと考えております。

    行いたいことの例としましては
    *()内はカテゴリ内で一番新しい投稿記事の投稿時間です。

    ■並び替える前
    ・カテゴリA(四日前の投稿)
    ・カテゴリB(二日前の投稿)
    ・カテゴリC(一日前の投稿)
    ・カテゴリD(三日前の投稿)
    ・カテゴリE(五日前の投稿)
    ・カテゴリF(今日の投稿)
    これを

    ■並び替えた後
    ・カテゴリF(今日の投稿)
    ・カテゴリC(一日前の投稿)
    ・カテゴリB(二日前の投稿)
    ・カテゴリD(三日前の投稿)
    ・カテゴリA(四日前の投稿)
    ・カテゴリE(五日前の投稿)
    という様に並び替えて表示したいと思っております。

    現在は、よくわからないがためSQLで無理矢理な感じで実現しております。
    以下、現在作成したコードです。
    よくわからないまま作成したため汚いかもしれませんがよろしくお願いします。

    <?php
    $results = $wpdb->get_results("
        SELECT  term_id,max(post_modified) as date
        FROM $wpdb->term_taxonomy 
    
        join $wpdb->term_relationships
        on $wpdb->term_taxonomy.term_taxonomy_id =                 
      $wpdb>term_relationships.term_taxonomy_id
    
        join $wpdb->posts
        on $wpdb->posts.id = $wpdb->term_relationships.object_id
    
        where taxonomy in ('category') AND post_status = 'publish'
    
        group by term_id
        order by date desc
    
        limit 70
    ");
    
    foreach ($results as $value) {
    
        $term_id = $value->term_id; ?>
    
        <a><?php echo $term_id ?></a>
    
    <?php } ?>
1件の返信を表示中 - 1 - 1件目 (全1件中)
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「カテゴリの並び替えについて」には新たに返信することはできません。