2016-08-23 64 views
0

我不是一个编码器,我需要修改以下代码以删除所有选项,而不是仅显示数组中的2天。在此日期之前删除所有下拉选项

add_filter('frm_setup_new_fields_vars', 'remove_field_option', 30, 2); 
add_filter('frm_setup_edit_fields_vars', 'remove_field_option', 30, 2); 
function remove_field_option($values, $field) { 
    if ($field->id == 242) { 
    $timestamp = time(); 
    $options_to_remove = array('2016-08-19', '2016-08-20') 
    foreach ($options_to_remove as $remove) { 
     $option_key = array_search($remove, $values['options']); 
     if ($option_key !== false) { 
     unset($values['options'][ $option_key ]); 
     } 
    } 
    } 
    return $values; 
} 
+0

您可能可以使用'strtotime($ time);'来转换数组中的值,并取消设置小于您输入值的值。 – Rasclatt

回答

0
如果你想要去用自己的方式$ options_remove阵列

$newArray = array_filter($oldArray,function($a) { 
global $options_remove; 
return !in_array($a,$options_remove); 
}); 

或者类似这样

$today = mktime(0, 0, 0, date("m") , date("d"), date("Y")); 
$newArray = array_filter($oldArray,function($a) { 
// your old array assumed to hold the date or datetime as value such as '2016-08-11' or '2016-08-11 08:11:23' 
global $today; 
return strtotime($a) < $today; 
}); 

$ newarray

持有时间少于今天的起始值。所以直到昨天结束

相关问题