首页 > 解决方案 > 按最近的帖子排序分类

问题描述

我有一个自定义分类“系列”和一个显示所有系列的页面。我想按他们的 cpt 发布日期订购该系列。因此,如果我们有系列 1、2、3、4,而系列 3 从今天开始有一个帖子,那么订单将是系列 3、1、2、4。

这是我到目前为止所拥有的,但我被困住了。

<?php 
    $s_tax = 'series';
    
    $series_terms = get_terms( $s_tax, $args = array(
    'hide_empty' => false,
    'taxonomy' => 'series',
    ));



    foreach($series_terms as $s => $series_term){
        $most_recent = get_posts( array(
            'post_type' => 'sermon',
            'post_status' => 'publish',
            'numberposts' => 1
        ));
        if( !empty($most_recent)){
            $series_term->sermon_date = $most_recent[0]->post_date;
        }
    }
    
    // //THERE IS WHERE YOU RUN YOUR USORT TO SORT THE SERIES TERMS BY THE POST DATE
    usort($most_recent, function($a, $b) {
        return strtotime($a['post_date']) - strtotime($b['post_date']);
    });


    
    foreach( $series_terms as $s => $series_term ):
    
        $term_link = get_term_link( $series_term );
        $img = pk_get_acf_image(get_field('series_image', 'series_' .$series_term->term_id),'medium_large');
        $id = get_the_ID();
        $date = get_the_date( 'F d, Y', $id );
        $title = get_the_title($id);
        $sfields = get_fields($id);
        $subtitle = pkav($sfields,'subtitle');
        $speaker = get_the_terms($id,'speaker');
        $series = get_the_terms($id,'series');
        $link = get_permalink();
            
?>

标签: phpwordpresssortingcustom-post-typecustom-taxonomy

解决方案


推荐阅读