在一个完全自定义的Wordpress页面中,使用Woody代码片段插件编写成PHP片段,我需要使用jQuery数据报警器来选择日期。
我正确地导入了必要的文件,并且正确地调用和设置了数据报警器。昨天,我把数据报警器附加到一个隐藏的输入字段上,这样当我点击一个图标时,日历就会浮起,一切都很好,甚至是本地化,尽管我没有为日历的本地化(导入i18n文件等)采取任何措施……
今天,我不得不稍微改变页面的布局,所以我不得不从一开始就做日历显示(内联)。根据演示页面,为了将数据报警器内联,您所要做的就是将它附加到div,而不是输入字段。
数据报警器确实变成了内联元素,但是本地化却消失了.最初的语言是英语,直到我以任何方式与日历互动(来回一个月,或者选择一个日期,等等)。一旦我这样做,本地化就变成了我网站的语言!
更疯狂的是,即使在我专门导入并设置了本地化之后,这种情况仍在继续。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" integrity="sha512-uto9mlQzrs59VwILcLiRYeLKPPbS/bT71da/OEBYEwcdNUk8jYIy+D176RYoop1Da+f9mvkYrmj5MCLZWEtQuA==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/i18n/jquery-ui-i18n.min.js" integrity="sha512-zZ27MiE6yuwkKbHnJ/7ATQF/7l+Jwk5jSxgmLJ1SS5QJexaYswmP3OKBPDVMfM8TlSOudAKHTWH2UtS+0LDddw==" crossorigin="anonymous"></script>
<script>
$(document).ready(function() {
$('#frontpages-date-filter').datepicker($.extend({},
$.datepicker.regional['el'], {
dateFormat: 'yymmdd',
minDate: new Date({$min['y']}, {$min['m']}, {$min['d']}),
maxDate: new Date({$max['y']}, {$max['m']}, {$max['d']}),
onSelect: function(dateText) {
window.location.href = location.protocol + '//' + location.host + location.pathname + '?date=' + dateText;
}
}
));
});
</script>在下面的JSFiddle中,完全相同的代码从一开始就运行良好
从我到目前为止搜索的内容来看,它很可能与WP v4.6+有关,在那里本地化会自动添加到jQuery中,但是无论我尝试了什么,我都无法使内联数据报头负载本地化,而不必以任何方式与它交互!
顺便说一句,我注意到了完全相同的行为,甚至还为ACF的开发人员录制了一个简短的视频,认为它与他们的插件有关,但是他们的反应并不是因为他们的插件,所以因为它在Admin方面,我没有浪费时间来进一步调试它。但这一次,页面是在公共方面,所以它必须被修复!
任何帮助都将不胜感激。提前谢谢。
发布于 2021-04-04 16:01:57
这一定是我网站上的冲突。TBH,我无法发现冲突,但我能够通过在datepicker启动之前设置必要的lang字符串来规避冲突,如下所示:
$(function() {
$.datepicker.regional['el'] = {
closeText: 'Κλείσιμο',
prevText: 'Προηγούμενος',
nextText: 'Επόμενος',
currentText: 'Σήμερα',
monthNames: ['Ιανουάριος', 'Φεβρουάριος', 'Μάρτιος', 'Απρίλιος', 'Μάιος', 'Ιούνιος', 'Ιούλιος', 'Αύγουστος', 'Σεπτέμβριος', 'Οκτώβριος', 'Νοέμβριος', 'Δεκέμβριος'],
monthNamesShort: ['Ιαν', 'Φεβ', 'Μαρ', 'Απρ', 'Μαι', 'Ιουν', 'Ιουλ', 'Αυγ', 'Σεπ', 'Οκτ', 'Νοε', 'Δεκ'],
dayNames: ['Κυριακή', 'Δευτέρα', 'Τρίτη', 'Τετάρτη', 'Πέμπτη', 'Παρασκευή', 'Σάββατο'],
dayNamesShort: ['Κυρ', 'Δευ', 'Τρι', 'Τετ', 'Πεμ', 'Παρ', 'Σαβ'],
dayNamesMin: ['Κ', 'Δ', 'Τ', 'Τ', 'Π', 'Π', 'Σ'],
weekHeader: 'Εβδ',
dateFormat: 'dd/mm/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''
};
$.datepicker.setDefaults($.datepicker.regional['el']);
$('#frontpages-date-filter').datepicker();
}); https://stackoverflow.com/questions/66759344
复制相似问题