Есть 2 способа решить эту проблему,
Решение №1, на стороне сервера с использованием расширения подключаемого модуля CF7 Smart Grid-layout . В нем есть поле тега [dynamic_dropdown]
, которое позволяет программно создавать выпадающее поле выбора с помощью фильтра.
add_filter('cf7sg_dynamic_dropdown_custom_options', 'filter_options',10,3);
function filter_options($options, $field_name, $form_key){
if($form_key != 'my-form') return $options; //check this is the correct form.
if($field_name != 'custom-dropdown') return $options; //check this is the correct field.
$options = array();
//you can fetch a list of dates from your DB is needed.
$dates = array("09/06/2020", "11/09/2020" ,"02/11/2020");
$now = time();
//load your options programmatically, as $value=>$name pairs.
foreach($dates as $date){
if(strtotime($date) > $now){
$options[$date]=$date;
}
}
return $options;
}
Решение № 2, на стороне клиента с использованием javascript,
$(document).ready(function(){
const now = new Date();
$('select#stardate option').each(function(){
let date = $(this).val();
if(date.getTime() < now.getTime()) $(this).remove();
});
});
Это удалит все элементы select option, которые старше, чем сейчас.