0

今後のイベントを今日から昇順で並べ替え、過去のイベントを今日から降順で並べ替える必要があります。これは私がこれまでに持っているものですが、日付の並べ替えが機能するようにメタキーを設定する方法がわかりません (または、meta_value が間違っている可能性がありますか?)。日付、月、年の値は別々なので、どうにかしてそれらを組み合わせる必要があります..? 今は月をアルファベット順にソートしています。:) 笑

<?php if(have_posts()) : ?> 
<?php while(have_posts()) : the_post(); ?>

<?php 

$eventquery = array (
    'post_type' => 'events',
    'orderby' => 'meta_value',
    'order' => 'asc',
    'posts_per_page' => 10,
    'meta_value' => strftime("%Y/%m/%d", time()- (60 * 60 * 24) ),
    'meta_key' => '_cmb_e_month',
    'meta_compare' => '>',
    );
?>

<?php $myeventlist = new WP_Query($eventquery); ?>
<?php while ($myeventlist->have_posts()) : $myeventlist->the_post(); 
        $m_date = get_post_meta( $post->ID, '_cmb_e_date', true );
        $m_month = get_post_meta( $post->ID, '_cmb_e_month', true );
        $m_day = get_post_meta( $post->ID, '_cmb_e_day', true );
        $m_year = get_post_meta( $post->ID, '_cmb_e_year', true );
        $m_start_time = get_post_meta( $post->ID, '_cmb_e_start_time', true );
        $m_end_time = get_post_meta( $post->ID, '_cmb_e_end_time', true );
        $m_venue = get_post_meta( $post->ID, '_cmb_e_venue', true );
        $event_text     = get_post_meta($post->ID, "_cmb_e_details", true);
        $event_price = get_post_meta( $post->ID, '_cmb_e_price', true );
        $event_ticket_status = get_post_meta( $post->ID, '_cmb_e_ticket_status', true );
        $event_thumb = the_post_thumbnail('thumbnail');

?>
4

2 に答える 2

0

配列を 2 つの個別の配列にフィルター処理します。1 つは過去のイベント用で、もう 1 つは将来のイベント用です。各配列を適切な順序で並べ替えます。次に、並べ替えられた 2 つの配列の結果を 1 つの配列にコピーします。

于 2016-12-01T07:59:12.603 に答える