jQuery UI Sortable не работает с Metabox

У меня много неприятностей с этим – мои уль-лики никуда не денутся. Я смотрел на большинство «дубликатов» этого, но не мог, чтобы жизнь меня заставила его работать. И мой код, вероятно, не самый лучший, поэтому, пожалуйста, не стесняйтесь комментировать / отвечать (до тех пор, пока ответ также является реальным ответом).

Регистрация скриптов:

function add_admin_scripts( $hook ) { global $post; wp_register_script( 'sectioned_page_script', get_stylesheet_directory_uri() . '/js/sectioned_page.js' ); if ( $hook == 'post-new.php' || $hook == 'post.php' ) { if ( 'sectioned_page' === $post->post_type ) { wp_enqueue_script( 'jquery' ); //wp_enqueue_script( 'jquery-ui-sortable' ); wp_enqueue_script( 'sectioned_page_script' ); } } } add_action( 'admin_enqueue_scripts', 'add_admin_scripts', 10, 1 ); 

Мета-ящик:

 function sectioned_page_meta_box_cb( $post ) { wp_nonce_field( basename( __FILE__ ), $nonce ); ?> <p> <label><?php _e('Sections:'); ?></label> <ul class="sortable"> <li>2345678901</li> <li>1234567890</li> <li>3456789012</li> </ul> </p> <?php } 

И фактический сценарий:

 jQuery( document ).ready( function( $ ) { $( '.sortable' ).sortable({ opacity: 0.6, revert: true, cursor: 'move', handle: '.hndle', placeholder: { element: function( currentItem ) { return $("<li style='background:#E7E8AD'>&nbsp;</li>")[0]; }, update: function( container, p ) { return; } } }); $( '.sortable' ).disableSelection(); alert( "Finished!" ); }); function addSection() { // TODO - add to list alert( "Hello!" ); } 

Спасибо за помощь, Lyphiix

Итак, после досадной длительной борьбы, я обнаружил, что мне нужно, чтобы скрипт был установлен / зарегистрирован без зависимостей. Поэтому, в конце концов, чтобы это работало, мне это нужно:

 function add_admin_scripts( $hook ) { global $post; wp_register_script( 'sectioned_page_script', get_stylesheet_directory_uri() . '/js/sectioned_page.js' ); if ( $hook == 'post-new.php' || $hook == 'post.php' ) { if ( 'sectioned_page' === $post->post_type ) { wp_enqueue_script( 'sectioned_page_script' ); } } } add_action( 'admin_enqueue_scripts', 'add_admin_scripts', 10, 1 );