【问题标题】:Contact Form 7 datepicker - date format not working for other language than english联系表格 7 日期选择器 - 日期格式不适用于英语以外的其他语言
【发布时间】:2019-04-19 18:14:28
【问题描述】:

我安装了联系表单 Datepicker 插件(版本 2.6.0)和一个简单的联系表单,如下所示:

[date date-508 id:date-508 date-format:dd.mm.yy]

日期格式 dd.mm.yy 仅以英文正确显示。

一旦我将页面更改为任何其他语言,它就会显示如下:dd/mm/yy: 2018 年 1 月 11 日

我有 WPML 4.0.8。 日期选择器窗口被翻译成其他语言,但所选日期的格式错误。

知道如何调试吗? 是什么导致了这种行为?

谢谢

【问题讨论】:

  • 也许您应该在 wordpress.stackexchange.com 上提出这个问题,或者在联系表格 7 的 wordpress.org 存储库中更好地提出这个问题。

标签: wordpress datepicker contact-form-7 date-formatting


【解决方案1】:

发现 Contact Form 7 datepicker 从外部文件加载区域设置,如下所示: https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/i18n/datepicker-fr.min.js 这些文件包含更改 datepicker 声明格式的 dateFormat:"dd/mm/yy"。

我修改了contact-form-7-datepicker.php 以从本地存储加载文件。 当然,我必须下载它们并更改其中的 dateFormat。

所以变化看起来像这样:

public static function enqueue_js() {
        $regional = CF7_DateTimePicker::get_regional_match();
        $proto = is_ssl() ? 'https' : 'http';

        if (! empty($regional)) {
            wp_enqueue_script(
                'jquery-ui-' . $regional,
                plugins_url('js/i18n/datepicker-' . $regional . '.min.js', __FILE__),  // Gabriel - to change format date in input
                // $proto . '://ajax.googleapis.com/ajax/libs/jqueryui/' . self::JQUERYUI_VERSION . '/i18n/datepicker-' . $regional . '.min.js',  // original code
                array('jquery-ui-datepicker'),
                self::JQUERYUI_VERSION,
                true
            );

这不是最好的解决方案,因为未来的更新会覆盖 php 文件。

我更喜欢一个 javascript 函数,它会再次覆盖 dateFormat 但没有任何效果。

【讨论】:

    猜你喜欢
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多