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 manipulate specific dates within a date field. NOTE: The date field must have the unique option selected.
Usage
add_filter('frm_selectable_dates', 'frm_selectable_dates', 10, 2);
Parameters
- $selectable (string)
- $args (array)
Examples
Black out weekends
This example allows you to preselect days of the week that you can blackout so that the user cannot choose them. In addition, the date field will blackout dates that users have already selected.
add_filter('frm_selectable_dates', 'frm_black_out_weekends', 10, 2);
function frm_black_out_weekends( $selectable, $args ) {
if ( $args['field']->field_key == 'pcm7rl3' ) { //replace pcm7rl3 with your field key
$selectable = '(day != 0 && day != 6)'; //where 0 & 6 are the days of the week
}
return $selectable;
}
Black out specific dates
This example allows you to black out specific dates from a unique date field. Replace 2017-5-29 and 2017-7-4 with your dates. The example below will black out May 29th, 2017 and July 4th, 2017. Replace pcm7rl3 with your field key.
add_filter('frm_selectable_dates', 'frm_black_out_specific_dates', 10, 2);
function frm_black_out_specific_dates( $selectable, $args ) {
if ( $args['field']->field_key == 'pcm7rl3' ) { //replace pcm7rl3 with your field key
$selectable = '( y+"-"+m+"-"+d != "2017-5-29" && y+"-"+m+"-"+d != "2017-7-4" )';
}
return $selectable;
}