Локализация виджета выбора даты jQuery UI – WP 4.6.0

# WP_LOCALIZE_JQUERY_UI_DATEPICKER() │ WP 4.6.0

Функция локализует (переводит) виджет выбора даты jQuery UI.

## Использует

Функция wp_add_inline_script(). (Для более детальной информации смотрите документацию WordPress).

## Нет хуков.

## Возврат

Эта функция ничего не возвращает (null).

## Использ��вание

Чтобы локализовать виджет, используйте:

```php
wp_localize_jquery_ui_datepicker();

Примеры

Пример 1: Перевод скрипта выбора даты

Предположим, ваш сайт на украинском языке. Тогда следующий код переведет скрипт выбора даты на украинский.

add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

function my_scripts_method() {
    wp_enqueue_script( 'jquery-ui-datepicker' ); 
    wp_localize_jquery_ui_datepicker();           
}

Добавьте свой собственный пример

Заметки

  • Глобальный объект: WP_Locale. $wp_locale — это объект, содержащий информацию о локали (языке и формате даты и времени) в WordPress.

Изменения

С версии 4.6.0 функция была добавлена.

Код функции WP_LOCALIZE_JQUERY_UI_DATEPICKER()

function wp_localize_jquery_ui_datepicker() {
    global $wp_locale;

    if ( ! wp_script_is( 'jquery-ui-datepicker', 'enqueued' ) ) {
        return;
    }

    // Преобразуем формат даты PHP в формат jQuery UI
    $datepicker_date_format = str_replace(
        array(
            'd',
            'j',
            'l',
            'z', // День.
            'F',
            'M',
            'n',
            'm', // Месяц.
            'Y',
            'y', // Год.
        ),
        array(
            'dd',
            'd',
            'DD',
            'o',
            'MM',
            'M',
            'm',
            'mm',
            'yy',
            'y',
        ),
        get_option( 'date_format' )
    );

    $datepicker_defaults = wp_json_encode(
        array(
            'closeText'       => __( 'Закрыть' ),
            'currentText'     => __( 'Сегодня' ),
            'monthNames'      => array_values( $wp_locale->month ),
            'monthNamesShort' => array_values( $wp_locale->month_abbrev ),
            'nextText'        => __( 'Следующий' ),
            'prevText'        => __( 'Предыдущий' ),
            'dayNames'        => array_values( $wp_locale->weekday ),
            'dayNamesShort'   => array_values( $wp_locale->weekday_abbrev ),
            'dayNamesMin'     => array_values( $wp_locale->weekday_initial ),
            'dateFormat'      => $datepicker_date_format,
            'firstDay'        => absint( get_option( 'start_of_week' ) ),
            'isRTL'           => $wp_locale->is_rtl(),
        )
    );

    wp_add_inline_script( 'jquery-ui-datepicker', "jQuery(function(jQuery){jQuery.datepicker.setDefaults({$datepicker_defaults});});" );
}

Связанные функции

  • __() — для перевода строк.
  • _e() — для вывода переведенной строки.
  • date_i18n() — для форматирования дат с учетом локали.
  • get_locale() — для получения текущей локали.

Скрипты и стили

  • wp_enqueue_script() — для подключения скриптов.
  • wp_add_inline_script() — для добавления инлайн-скриптов в очередь.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *