2013-10-22 4 views
5

Sto lavorando su un plug-in e ho riscontrato un problema durante il tentativo di utilizzare l'interfaccia utente jQuery Sortable. Ho seguito le istruzioni come in Codex ma il problema è rimasto. L'interfaccia utente jQuery ordinabile non funziona e Firebug dice TypeError: jQuery(...).sortable is not a function.Inclusione dell'interfaccia utente di jQuery Ordinabile nella pagina di amministrazione di WordPress

Io corro su WordPress 3.6 e il codice è:

<?php 
/* 
Plugin Name: Name 
Description: Description 
Version: 0.1 
Author: Bloorchi 
*/ 

add_action('admin_menu', 'my_plugin_admin_menu'); 

function my_plugin_admin_menu() { 
    add_action('admin_print_scripts-' . $page_hook_suffix, 'my_plugin_admin_scripts'); 
    $page_hook_suffix = add_submenu_page('edit.php', 'My Plugin', 'My Plugin', 'manage_options', 'my_plugin-options', 'my_plugin_manage_menu'); 
} 

function my_plugin_admin_scripts() { 
    wp_enqueue_script('jquery-ui-sortable'); 
} 

function my_plugin_manage_menu() { 
?> 
<table id="test"> 
    <tbody> 
     <tr> 
      <td>1</td> 
      <td>2</td> 
     </tr> 
     <tr> 
      <td>3</td> 
      <td>4</td> 
     </tr> 
     <tr> 
      <td>5</td> 
      <td>6</td> 
     </tr> 
    <tbody>  
</table> 
<script> 
    jQuery('table#test tbody').sortable(); 
</script> 
<?php 
} 

risposta

4

due cose, avete questo invertita:

$suffix = add_submenu_page( 
    'edit.php', 
    'My Plugin', 
    'My Plugin', 
    'manage_options', 
    'my_plugin-options', 
    'my_plugin_manage_menu' 
); 
add_action("admin_print_scripts-$suffix", 'my_plugin_admin_scripts'); 

E è necessario eseguire sempre jQuery come questo:

<script type="text/javascript"> 
jQuery(document).ready(function($) { 
    $('table#test tbody').sortable(); 
}); 
</script> 
+0

Ho testato il tuo codice esatto con questa mod e funziona bene: http://pastebin.com/mXFSR9Bn – brasofilo

0

tenta di disattivare tutti i plugin e provare di nuovo. Ho avuto un problema simile e ho scoperto che il problema era in uno dei plugin