wp_localize_jquery_ui_datepicker() │ WP 4.6.0
Localizes (translates) the jQuery date picker script: jQuery UI datepicker.
Adds JavaScript code for the jQuery UI datepicker script, which translates all labels into the current language of the site. The data is taken from the current locale (language).
The function needs to be called after the script 'jquery-ui-datepicker' has been added to the output queue (see example).
No Hooks.
Returns
null
. Nothing.
Usage
wp_localize_jquery_ui_datepicker();
Examples
#1 Let's translate the date selection script
Suppose our site is in Ukrainian. Then the following code will translate the date selection script into Ukrainian.
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
function my_scripts_method() {
wp_enqueue_script( 'jquery-ui-datepicker' );
wp_localize_jquery_ui_datepicker();
}
Add Your Own Example
Notes
Global. WP_Locale. $wp_locale WordPress date and time locale object.
Changelog
wp_localize_jquery_ui_datepicker() wp localize jquery ui datepicker code
WP 6.8.1
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});});" );
}
Related Functions