This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.
This hook allows you to customize the dates where an entry will be displayed when using a calendar View. Use this hook to add recurring events to a Calendar View.
Usage
add_filter('frm_show_entry_dates', 'customize_recurring_events', 10, 2); function customize_recurring_events($dates, $entry)
Parameters
- $dates (array)
- $entry ($object)
Examples
Create a weekly recurring event
Use this code to make a submitted event appear on your Calendar once every week. In order for this example to work, you must have a radio button or checkbox field in your form where a user can select "Yes" if the event should recur weekly.
add_filter('frm_show_entry_dates', 'weekly_recurring_event', 10, 2);
function weekly_recurring_event($dates, $entry){
if ( $entry->form_id == 5 ){ //change 5 to the ID of your form
if ( isset($entry->metas[125]) && $entry->metas[125] == 'Yes' ) {//Change 125 to the ID of your "Recurs weekly" field
$start_date = reset($dates);
$end_date = strtotime('2020-12-31');//End date of the recurring event
for ($i = strtotime($start_date); $i <= $end_date; $i = strtotime('+1 week', $i)) {
$dates[] = date('Y-m-d', $i);
}
}
}
return $dates;
}