Reputation: 461
I`m trying to add a custom post field using datepicker jquery ui. In function.php I have the following code:
function daily_idea_admin_script_style( $hook ) {
global $post_type, $wp_scripts;
if ( ( 'post.php' == $hook || 'post-new.php' == $hook ) && ( 'daily_idea' == $post_type ) ) {
$ui = $wp_scripts->query('jquery-ui-core');
if ($ui) {
$uiBase = "http://ajax.googleapis.com/ajax/libs/jqueryui/{$ui->ver}/themes/cupertino";
wp_enqueue_script('daily_idea', get_template_directory_uri() .'/js/daily_idea_script.js', array( 'jquery', 'jquery-ui-datepicker' ), '1.0', true);
wp_enqueue_style('jquery-ui-min', "$uiBase/jquery-ui.min.css", FALSE, $ui->ver);
}
}
}
add_action( 'admin_enqueue_scripts', 'daily_idea_admin_script_style' );
The info metabox are displayed with the input field but when I clicked on it, datepicker is not displayed.
Note: this is my first this is my first custom post field I`ve ever created on wordpress
EDIT: my custom daily_idea_script.js is :
(function( $ ) {
$.noConflict();
$( '#daily_idea_date' ).datepicker({
dateFormat: 'dd MM yy',
onClose: function( selectedDate ){
$( '#daily_idea_date' ).datepicker( 'option', 'maxDate', selectedDate );
}
});
})( jQuery );
Upvotes: 0
Views: 1583
Reputation: 5937
you have a couple of errors here...
remove
$.noConflict(); // not neccessary
remove:
onClose: function( selectedDate ){
$( '#daily_idea_date' ).datepicker( 'option', 'maxDate', selectedDate );
}
i guess you are trying to set the maximum date of the datepicker but you are trying to recreate a datepicker on the same element? what do you actually want to do here?
Datepicker works much cleaner with jQuery(document).ready() or $(function(){} for short. The method you are using, the function will run immediately, at which stage the dom is not ready and jquery cant find the element identified.
Upvotes: 1