wp_localize_jquery_ui_datepicker

Локализует (переводит) jQuery скрипт выбора даты: jQuery UI datepicker.

Добавляет Javascript код для скрипта jQuery UI datepicker, который переводит все надписи на текущий язык сайта. Данные берутся из текущей локали (языка).

Функцию нужно вызывать после того как скрипт 'jquery-ui-datepicker' был добавлен в очередь на вывод (см. пример).

Хуков нет.

Возвращает

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

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-includes/script-loader.php

WP 4.7.3

<?php
function wp_localize_jquery_ui_datepicker() {
	global $wp_locale;

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

	// Convert the PHP date format into jQuery UI's format.
	$datepicker_date_format = str_replace(
		array(
			'd', 'j', 'l', 'z', // Day.
			'F', 'M', 'n', 'm', // Month.
			'Y', 'y'            // Year.
		),
		array(
			'dd', 'd', 'DD', 'o',
			'MM', 'M', 'm', 'mm',
			'yy', 'y'
		),
		get_option( 'date_format' )
	);

	$datepicker_defaults = wp_json_encode( array(
		'closeText'       => __( 'Close' ),
		'currentText'     => __( 'Today' ),
		'monthNames'      => array_values( $wp_locale->month ),
		'monthNamesShort' => array_values( $wp_locale->month_abbrev ),
		'nextText'        => __( 'Next' ),
		'prevText'        => __( 'Previous' ),
		'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(document).ready(function(jQuery){jQuery.datepicker.setDefaults({$datepicker_defaults});});" );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *