I'm making a Wordpress-plugin in which an administrator can add events. Visitors can see a calendar (fullcalendar) where they should see events. However, it does not read the json string which stores all the information. The string looks okay: [{"title":"Evenement01","start":"2013-11-15"},{"title":"Testevenemn12","start":"2013-11-22"}].
Below my json-feed.php code:
<?php
global $wpdb;
$rst_events_array = array();
$rst_get_events = $wpdb->get_results("
SELECT *
FROM wp_rst_events
");
foreach ($rst_get_events as $val){
$rst_events_array [] = array(
'title' => $val->rst_event_name,
'start' => $val->rst_event_date
);
}
echo json_encode($rst_events_array);
?>
And here my jQuery:
jQuery('#rst-calendar').fullCalendar({
events: 'json-feed.php'
});
Thanks in advance
I had the same issue with Wordpress and needed to add;
header("Content-Type: application/json; charset=UTF-8");
echo event::jsonCalendarEvent($id);
exit;
JSON is very particular and any characters after your echo will kill it on the client side.
You should use date/time format as specified in documentation:
The date/time an event begins. When specifying Event Objects for events or eventSources, you may specify a string in IETF format (ex: "Wed, 18 Oct 2009 13:00:00 EST"), a string in ISO8601 format (ex: "2009-11-05T13:15:30Z") or a UNIX timestamp.
So, in your case:
events: [
{
"title":"Evenement01",
"start":"2013-11-15T13:15:30Z"
},
{
"title":"Testevenemn12",
"start":"2013-11-22T13:15:30Z"
}
]
Have a look here. If you want the event lasts all day, you should set the allDay
properties to true
.