我在这方面遇到了很多麻烦-我的ul-li不会去任何地方。我已经看过了这本书的大部分“副本”,但我一辈子都无法让它发挥作用。而且我的代码可能不是最好的,所以请随意评论/回答(只要答案也是实际的答案)更好的做事方式。
脚本注册:
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 );
Meta box大楼:
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\'> </li>")[0];
},
update: function( container, p ) {
return;
}
}
});
$( \'.sortable\' ).disableSelection();
alert( "Finished!" );
});
function addSection() {
// TODO - add to list
alert( "Hello!" );
}
谢谢你的帮助Lyphiix
最合适的回答,由SO网友: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 );