这是我在这里的第一篇文章,如果我解释太多或不尊重任何规则,我会道歉。
有一个日历插件(“mk2插件”让我们称它为因为它不是公共插件),它用于显示Wordpress中程序(帖子)的事件。唯一的问题是它不会显示星期日的事件。
每隔一天它完美运作并显示整周的事件,甚至可以在星期日显示。日历显示周视图并显示整个星期的所有日期事件,但是当我们像星期日这样的星期日时,它没有显示任何事情。
我认为这与本帖末尾的代码有关,因为我改变了部分内容的顺序:
$days = array(
__("sunday", "mk2"),
__("monday", "mk2"),
__("tuesday", "mk2"),
__("wednesday", "mk2"),
__("thursday", "mk2"),
__("friday", "mk2"),
__("saturday", "mk2")
);
并将周日结束,周一结束。随着更改,它现在只显示星期日事件,而不是其他天显然不是解决方案,因为它应显示所有日子的事件(Wordpress开始日设置设置为星期一)。如果我应该提供更多信息,请告诉我!
$schedule_times = array();
$post = get_post($program_id);
$days = array(
__("sunday", "mk2"),
__("monday", "mk2"),
__("tuesday", "mk2"),
__("wednesday", "mk2"),
__("thursday", "mk2"),
__("friday", "mk2"),
__("saturday", "mk2")
);
foreach($days as $index => $day) {
$color = mk2_Toolkit::get_post_meta($post->ID, "accent_color", true, "#444444");
$times = get_post_meta($post->ID, $day . "_time");
$start_of_week = get_option("start_of_week");
if($start_of_week == 0) {
$last_day_of_week = 6;
}
else {
$last_day_of_week = $start_of_week - 1;
}
$start = (date('w', strtotime("today")) == 0) ? strtotime("today") : strtotime('last sunday', strtotime("today"));
if($start_of_week == 0) {
$day = date("Y-m-d", strtotime("this $day", $start));
}
elseif($start_of_week == 1) {
if($index == 0) {
$day = date("Y-m-d", strtotime("next $day", $start));
}
else {
$day = date("Y-m-d", strtotime("this $day", $start));
}
}
elseif($index >= $start_of_week) {
$day = date("Y-m-d", strtotime("-" . (7-$index) . " day", $start));
}
else {
$day = date("Y-m-d", strtotime("this $day", $start));
}
if(!empty($times)) {
foreach($times as $key => $time) {
list($start_time, $end_time) = explode(",", $time);
$start_date = "$day $start_time";
$end_date = "$day $end_time";
if($end_date <= $start_date) {
$end_date = date("Y-m-d H:i", strtotime("+24 hours", strtotime($end_date)));
}
array_push($schedule_times, array_merge($options, array(
"id" => mk2_Service::get_name() . "_" . $post->ID,
"title" => $post->post_title,
"start" => $start_date,
"end" => $end_date,
"allDay" => false,
"color" => $color,
"url" => get_permalink($post->ID)
)));
}
}
}
return $schedule_times;
}