wp_localize_jquery_ui_datepicker()WP 4.6.0

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

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

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

Работает на основе: wp_add_inline_script()

Хуков нет.

Возвращает

null. Ничего.

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

wp_localize_jquery_ui_datepicker();

Примеры

0

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

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

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

Заметки

  • Global. WP_Locale. $wp_locale WordPress date and time locale object.

Список изменений

С версии 4.6.0 Введена.

Код wp_localize_jquery_ui_datepicker() WP 6.4.3

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(function(jQuery){jQuery.datepicker.setDefaults({$datepicker_defaults});});" );
}