Wp_enQueue_脚本与wp_寄存器脚本

时间:2011-07-29 作者:Richard Lane

试着在这里做正确的事,把自己绑在一个结上!所以,在我的标题中。php之前wp_admin, 我有:

wp_enqueue_script(\'commonfunctions\', child_template_directory . \'/script/commonfunctions.js\', array(\'jquery\', \'jquery-ui-draggable\'), \'1.0\', true);
这很有效。基本上,我有一个自定义js文件,它需要jquery和jqueryui作为依赖项。后来我取出了“jquery”,因为它似乎被加载了两次。我还将一个函数连接到函数中的“init”中。php,但这似乎没有任何优势?

我想包括来自CDN的验证脚本,因为这也是我的自定义脚本的依赖项。我想我应该这样注册脚本:

wp_register_script(\'validate\', \'http://ajax.microsoft.com/ajax/jQuery.Validate/1.6/jQuery.Validate.min.js\', true);
然后将“validate”添加到队列中的dependencies数组中,如下所示:

wp_enqueue_script(\'commonfunctions\', child_template_directory . \'/script/commonfunctions.js\', array(\'jquery\', \'jquery-ui-draggable\', \'validate\'), \'1.0\', true);
按照这个顺序,jquery也是validate的依赖项。呸!这行不通,我显然误解了什么-请帮我解开我在这里要做的事情。。。

2 个回复
SO网友:chrisjlee

我认为您也应该将脚本排队(用于验证脚本)。为了避免这个问题,我也会将它包装成一个完整的函数#11526: 呼唤

因此,总的来说:

<head>
...
<?php 

function mytheme_enqueue_script() {
// Load jQuery
wp_enqueue_script(\'jquery\');
// Load draggable
wp_enqueue_script(\'jquery-ui-draggable\');
//load your script
wp_enqueue_script(\'commonfunctions\', child_template_directory . \'/script/commonfunctions.js\', array(\'jquery\', \'jquery-ui-draggable\'), \'1.0\', true);
// Load validate
wp_enqueue_script(\'validate\',\'http://ajax.microsoft.com/ajax/jQuery.Validate/1.6/jQuery.Validate.min.js\', array(\'jquery\'), true);
}

add_action(\'wp_enqueue_script\', \'mytheme_enqueue_script\');
对不起,我还没有测试这个。所以我可能会离开。

SO网友:Rarst

后来我取出了“jquery”,因为它似乎被加载了两次。

这不应该发生,可能是由其他一些(不良)代码激活引起的。

你错了true 在里面validate 注册-源之后是依赖项数组和true 在那里是没有意义的。

否则,总的来说这似乎很好。通过快速测试工作。你能更准确地描述一下“不起作用”的确切内容和方式吗?

结束

相关推荐