HTML5 Zone is brought to you in partnership with:

Paulund is a website dedicated to writing tutorials and code snippets about Web Development, the main subjects are PHP, Wordpress, jQuery, CSS3 and HTML5. Paul is a DZone MVB and is not an employee of DZone and has posted 139 posts at DZone. You can read more from them at their website. View Full User Profile

Add Date Picker to Wordpress Admin Console

10.19.2012
| 4195 views |
  • submit to reddit

On a previous article we covered how to add default third party applications on your WordPress site.

Here is a list of all the default scripts you can load from WordPress.

One of the useful scripts in this list is the jQuery UI features. In this tutorial you will learn how to add a field in WordPress which uses this jQuery UI to create a field which is a date picker.

Add Input In Admin Screen

When adding fields in the WordPress admin area you would use the function add_settings_field() to add fields to the page. The callback of this will run a function that creates the code to output the field.

To create a datepicker make sure this callback function echo's an input field like below.

add_settings_field( 'example_date_picker', 'Example Date Picker', 'pu_display_date_picker', 'pu_theme_options.php', 'pu_date_section', array() );
add_action( 'admin_enqueue_scripts', 'enqueue_date_picker' );
function pu_display_date_picker($args){
     extract( $args );
     echo '<input type="date" id="datepicker" name="example[datepicker]" value="" class="example-datepicker" />';
}
/**
 * Enqueue the date picker
 */
function enqueue_date_picker(){
                wp_enqueue_script(
			'field-date-js',
			'Field_Date.js',
			array('jquery', 'jquery-ui-core', 'jquery-ui-datepicker'),
			time(),
			true
		);	
		wp_enqueue_style( 'jquery-ui-datepicker' );
}

The above code displays the functionality of the callback function to display a date pick in the admin area of your WordPress site. The callback function will display a input type which has a class of example-datepicker.

We also add an action on to the admin_enqueue_scripts to add some javascript to the page, on this action we then call the function enqueue_date_picker. This function will load a Javascript file called Field_Date.js, but only after it has loaded jQuery UI and jQuery UI Datepicker.

With these Javascript files loaded on the page we can add some Javascript inside the Field_Date.js file to allow the input to use the jQuery UI Datepicker, copy the below code into a new Javascript file and save it as Field_Date.js.

jQuery(document).ready(function(){
	jQuery('.example-datepicker').datepicker();
});

 

 

 

 

Published at DZone with permission of Paul Underwood, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)