Wordpress日历插件不会出现在星期日

时间:2014-03-02 14:17:48

标签: php jquery wordpress plugins calendar

这是我在这里的第一篇文章,如果我解释太多或不尊重任何规则,我会道歉。

有一个日历插件(“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;
  }

0 个答案:

没有答案