使用排队,您将改变$deps
要使脚本工作,首先需要运行的脚本或脚本数组。
<?php wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); ?>
例如:
function script_that_requires_jquery() {
wp_register_script( \'script-with-dependency\', \'http://www.example.com/script-with-dependency.js\', array( \'jquery\' ), \'1.0.0\', true );
wp_enqueue_script( \'script-with-dependency\' );
}
add_action( \'wp_enqueue_scripts\', \'script_that_requires_jquery\' );
我通常这样做,但似乎并不总是奏效:
function script_that_requires_jquery(){
if ( wp_script_is( \'jquery\', \'done\' ) ) { ?>
<script type="text/javascript">
(function($) {
// jquery function goes here
})( jQuery );
</script>
<?php }
}
add_action(\'wp_footer\', \'script_that_requires_jquery\');
也许就是这个?
function script_that_requires_jquery(){
wp_enqueue_script( \'jquery\' );
?>
<script type="text/javascript">
(function($) {
// jquery function goes here
})( jQuery );
</script>
<?php
}
add_action(\'wp_footer\', \'script_that_requires_jquery\');
SO网友:Pieter Goosen
function script_that_requires_jquery() {
wp_register_script( \'script-with-dependency\', \'http://www.example.com/script-with-dependency.js\', array( \'jquery\' ), \'1.0.0\', true );
wp_enqueue_script( \'script-with-dependency\' );
}
add_action( \'wp_enqueue_scripts\', \'script_that_requires_jquery\' );
这是将脚本(和样式)排队的正确方法。你应该
always 正在使用
wp_enqueue_scripts
将脚本和样式挂接到。
当您注册脚本和样式时,这里有一些东西需要检查。首先,确保在函数中放置它们的顺序是正确的。函数中的第一个脚本将首先运行,第二个脚本将运行,以此类推。。因此,您不能将依赖jquery的脚本放在jquery之前,它将不起作用
另一个潜在的陷阱是add_action( $hook, $function_to_add, $priority, $accepted_args );
. 不设置$priority
参数,则始终存在加载脚本/样式的危险before 其他可能覆盖您的脚本/样式。
在您的情况下,您的脚本可能在jquery之前加载,因此它将无法工作。我always 当我添加自定义脚本和样式时,将此参数设置为非常低的优先级(非常高的数字)。这确保了我的脚本和样式加载到最后。所以我会这样做
add_action( \'wp_enqueue_scripts\', \'script_that_requires_jquery\', 999 );