为3.5正确地将Java脚本入队

时间:2012-12-16 作者:Jes

我试图在wp中创建管理设置页的选项卡,但我认为我做得不对。下面的示例显示了我是如何做到这一点的,但我不知道如何更改它以正确使用它,而不会产生冲突,例如$。

function my_plugin_load_js() {
wp_deregister_script(\'jquery\');
wp_register_script(\'jquery\', \'http://code.jquery.com/jquery-1.8.3.js\');
wp_enqueue_script(\'jquery\');

wp_deregister_script(\'jquery-ui-core\');
wp_register_script(\'jquery-ui-core\', \'http://code.jquery.com/ui/1.9.2/jquery-ui.js\');
wp_enqueue_script(\'jquery-ui-core\');
}
add_action(\'admin_enqueue_scripts\', \'my_plugin_load_js\' );

function mypluginjs() {
echo \'<script type="text/javascript">
jQuery(function() {
   jQuery( "#tabs" ).tabs();
});
</script>\';
}
add_action( \'admin_print_scripts\', \'mypluginjs\' );

1 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

切勿在WP Admin中取消注册核心捆绑脚本。你也不应该在前端这样做,除非你真的知道自己在做什么。但是especially 在WP-Admin中,只需使用核心捆绑脚本。

此外,当您使用核心捆绑的jQuery UI时,WordPress已经知道jQuery是一个依赖项。

只需将第一个回调更改为:

function my_plugin_load_js() {
    wp_enqueue_script(\'jquery-ui-core\');
}
add_action(\'admin_enqueue_scripts\', \'my_plugin_load_js\' );
注意:您应该在此处使用特定于插件的挂钩,以便只在您自己插件的管理页面上排队,而不是在整个WP管理页面中排队。

另外,对于jQuery UITabs, 您需要将jquery-ui-tabs 剧本Core将其注册到所有需要的DEP中,因此您可以直接将其排队:

function my_plugin_load_js() {
    wp_enqueue_script(\'jquery-ui-tabs\');
}
add_action(\'admin_enqueue_scripts\', \'my_plugin_load_js\' );
对于第二种情况,只需正确包装脚本in no-conflict wrappers:

function mypluginjs() {
    ?>
<script type="text/javascript">
jQuery(document).ready(function($) {
   jQuery( "#tabs" ).tabs();
});
</script>
    <?php
}
add_action( \'admin_print_scripts\', \'mypluginjs\' );

结束

相关推荐

Wassup中显示的ODD/wp-admin/admin-ajax.php条目

我有一个奇怪的问题,我不知道如何解决。自从我安装了一个流行的帖子插件(Wordpress popular Posts)以来,我一直在Wassup实时分析中看到一个奇怪的条目,该页面名为/wp admin/admin ajax。php一次又一次。在我安装插件之前,它会显示被点击的页面,但无论出于何种原因,该页面看起来都会被点击,我无法看到用户实际点击的页面。下面是我所说的一个例子:编辑:How do I get the correct page/post to be displayed instead of