Larry
Larry

Reputation: 461

datepicker not working in wordpress

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

Answers (1)

David
David

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

Related Questions