Поэтому я пытаюсь показать только текущие события, которые попадают между настраиваемыми полями даты начала (st_date) и даты окончания (end_date). В настоящее время это не работает вообще для текущих событий.
Мое текущее время при установке Wordpress соответствует моему часовому поясу (восточному) на -5.
Я попытался изменить формат даты на своем сайте Wordpress, чтобы он соответствовал Y-m-d, но, поскольку отображаются предстоящие и предыдущие события, это, очевидно, мне не помогло.
Это серверное время, от которого он отрабатывает? На данный момент, 31 декабря, отображается событие с датой начала 30 декабря, но не событие, которое я создал с датой начала 31 декабря.
Вот мой текущий код. Есть идеи, что нужно изменить? Спасибо за любую помощь!
//FILER FOR SEPARATING UPCOMING, CURRENT AND PAST EVENTS
function event_where($where)
{
global $wpdb,$wp_query;
$current_term = $wp_query->get_queried_object();
if((is_archive() || is_tag()) && ($current_term->taxonomy==CUSTOM_CATEGORY_TYPE1 || $current_term->taxonomy==CUSTOM_TAG_TYPE1))
{
if($current_term->taxonomy == CUSTOM_CATEGORY_TYPE1 || $current_term->taxonomy == CUSTOM_TAG_TYPE1)
{
if(@$_REQUEST['etype']=='')
{
$_REQUEST['etype']='current';
}
if(@$_REQUEST['etype']=='current')
{
$today = date('Y-m-d G:i:s');
$where .= " AND ($wpdb->posts.ID in (select $wpdb->postmeta.post_id from $wpdb->postmeta where $wpdb->postmeta.meta_key='st_date' and date_format($wpdb->postmeta.meta_value,'%Y-%m-%d %G:%i:%s') <='".$today."')) AND ($wpdb->posts.ID in (select $wpdb->postmeta.post_id from $wpdb->postmeta where $wpdb->postmeta.meta_key='end_date' and date_format($wpdb->postmeta.meta_value,'%Y-%m-%d %G:%i:%s') > '".$today."')) ";
}
elseif($_REQUEST['etype']=='upcoming')
{
$today = date('Y-m-d G:i:s');
$where .= " AND ($wpdb->posts.ID in (select $wpdb->postmeta.post_id from $wpdb->postmeta where $wpdb->postmeta.meta_key='st_date' and date_format($wpdb->postmeta.meta_value,'%Y-%m-%d %G:%i:%s') >'".$today."' and $wpdb->posts.post_status = 'publish')) ";
}
elseif($_REQUEST['etype']=='past')
{
$today = date('Y-m-d G:i:s');
$where .= " AND ($wpdb->posts.ID in (select $wpdb->postmeta.post_id from $wpdb->postmeta where $wpdb->postmeta.meta_key='end_date' and date_format($wpdb->postmeta.meta_value,'%Y-%m-%d %G:%i:%s') < '".$today."')) ";
}
}elseif(is_day() || is_month() || is_year())
{
$where = str_replace("'post'","'".CUSTOM_POST_TYPE1."'",$where);
}
}
return $where;
}