Estilo incorporado para jquery-ui-datepicker
Quiero usar el datepicker que viene incluido con WordPress en el frontend de un sitio web. He encolado jquery-ui-datepicker
pero el datepicker no tiene estilos (no hay errores de js en la consola). ¿Existe un wp_enqueue_style
correspondiente para esto?
He usado este código en functions.php
function rr_scripts() {
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'jquery-ui-datepicker', array( 'jquery' ) );
wp_register_style( 'bootstrap_css', get_template_directory_uri() . '/assets/css/bootstrap.min.css' );
wp_enqueue_style( 'bootstrap_css' ); # Estoy usando Twitter Bootstrap como CSS (si es relevante)
}
add_action( 'wp_enqueue_scripts', 'rr_scripts' );

Por lo que sé, no hay un estilo predeterminado para el datepicker. Tienes que registrar el tuyo propio. El código sería:
function rr_scripts() {
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'jquery-ui-datepicker', array( 'jquery' ) );
wp_register_style( 'bootstrap_css', get_template_directory_uri() . '/assets/css/bootstrap.min.css' );
wp_enqueue_style( 'bootstrap_css' ); // Estoy usando Twitter Bootstrap como CSS (por si es relevante)
wp_register_style('jquery-ui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css');
wp_enqueue_style( 'jquery-ui' );
}
add_action( 'wp_enqueue_scripts', 'rr_scripts' );

+1 pero no es necesario registrar el script y luego encolarlo por separado. Combínalo en uno solo, como: wp_enqueue_style( 'bootstrap_css', get_template_directory_uri() . '/assets/css/bootstrap.min.css' );

Para cargar scripts y estilos, añade el siguiente código al archivo functions.php
de tu tema.
function add_e2_date_picker(){
// Archivo de selector de fecha de jQuery UI
wp_enqueue_script('jquery-ui-datepicker');
// Archivo CSS del tema de jQuery UI
wp_enqueue_style('e2b-admin-ui-css','http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/themes/base/jquery-ui.css',false,"1.9.0",false);
}
add_action('wp_enqueue_scripts', 'add_e2_date_picker');
Script para uso en el back-end:
function add_e2_date_picker(){
// Archivo de selector de fecha de jQuery UI
wp_enqueue_script('jquery-ui-datepicker');
// Archivo CSS del tema de jQuery UI
wp_enqueue_style('e2b-admin-ui-css','http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/themes/base/jquery-ui.css',false,"1.9.0",false);
}
add_action('admin_enqueue_scripts', 'add_e2_date_picker');
Debo enlazarlo a options-general.php
para que se muestre en Ajustes->Selector de Fecha. Solo coloca este código nuevamente en el archivo functions.php debajo del código anterior.
function register_datepiker_submenu() {
add_submenu_page( 'options-general.php', 'Selector de Fecha', 'Selector de Fecha', 'manage_options', 'date-picker', 'datepiker_submenu_callback' );
}
function datepiker_submenu_callback() { ?>
<div class="wrap">
<input type="text" class="datepicker" name="datepicker" value=""/>
</div>
<script>
jQuery(function() {
jQuery( ".datepicker" ).datepicker({
dateFormat : "dd-mm-yy"
});
});
</script>
<?php }
add_action('admin_menu', 'register_datepiker_submenu');
?>
Consulta más detalles en Añadir un Selector de Fecha jQuery a un Tema o Plugin de WordPress
