我需要对从今天开始的即将发生的事件进行排序,然后从今天开始逐渐减少事件。这是我到目前为止所做的,但我不确定如何设置元键以使其成为日期排序工作(或者meta_value可能是错误的吗?)。日期,月份和年份值是分开的,所以我需要以某种方式将它们组合起来..?现在我按月字母顺序排序,因为这是我唯一可以上班的东西。 :lol
<?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');
?>
答案 0 :(得分:0)
将数组过滤为两个独立的数组:一个用于过去事件,另一个用于未来事件。按适当的顺序对每个数组进行排序。然后将两个排序数组的结果复制到一个单独的数组中。
答案 1 :(得分:-1)
$event_date=strtotime("$m_date $m_month $m_year");
$now=time();
if($event<$now) {
echo "past event";
}
elseif($event>$now){
echo "future event";
}
else {
echo "now";
}