问题描述
我正在将Formidable Forms Pro用于我的联系表。
只能在全局首选项中设置字段中显示的日期格式,而不能为每个字段设置日期格式。默认值为mm/dd/yyyy
。
单个日期字段具有“日历本地化”设置,该设置根据从下拉菜单中选择的区域设置显示日期选择器小部件。
问题是我正在使用不同语言的表单,因此我需要相应地显示日期格式。例如,mm/dd/yyyy
代表英语形式,dd/mm/yyyy
代表意大利形式。
作为一种限制所有字段只有一种日期格式的解决方法,我通过挂钩将自定义日期格式添加到设置中,如下所示:
add_filter('frm_datepicker_formats','add_custom_frm_format');
function add_custom_frm_format($formats) {
$formats['j F Y'] = 'd MM yy'; //change PHP and Datepicker formats
return $formats;
}
现在在Datepicker中选择日期后,我有:
-
2021年10月9日以英语进行本地化输入
-
2021年10月10日,用于具有意大利语本地化的输入。
两个字段的格式都相同,但是至少这样可以避免来自不同国家/地区的用户感到困惑。
但是,“强大表单”插件使用PHP函数create_date_from_format
将日期转换为DB格式(yyyy-mm-dd),
因此,“ 2021年10月9日”将生效,并转换为“ 2021-10-09”,而“ 9 ottobre 2021”将不生效,create_date_from_format
返回“ 1970-01-01”。
PHP函数“create_date_from_format”
仅接受标准的英文名称,例如一月,二月等。
在提交表单之前,是否可以用英文名称替换输入字段中的意大利月份名称“ Gennaio,Febbraio等”,但在该字段中保留字符串不变? 或者也许我应该采用另一种方法... FF支持对自定义编码无济于事。 谁能把我的方向正确? 任何帮助都会很棒,谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)