wp_enqueue_script() 作为向 WordPress 主题页面中引入脚本文件的最佳方法,可以有效地避免在多个代码块中重复调用脚本文件的问题。该函数一般与 wp_register_script() 函数一同使用,如果我们已经通过 wp_register_script() 注册了一个脚本,那么直接使用该函数引入即可;如果未使用 wp_register_script() 注册,该函数也支持相应参数定义。简单来说,如果你注册并需要立即引入脚本文件的话直接使用 wp_enqueue_script() 即可;如果你需要注册脚本又不确定何时引入的话则需要先使用 wp_register_script() 注册,然后在需要引入的时候通过 wp_enqueue_script() 引入即可。该函数语法如下所示:
wp_enqueue_script( string $handle, string $src = '', array $deps = array(),string|bool|null $ver = false, bool $in_footer = false )
$handle:字符串(必填)。脚本名称,必须是唯一值。
$src:字符串或布尔值(可选)。完整的脚本文件路径或基于WordPress根目录的相对路径。如果资源为false,则脚本为基于其他脚本的别名。
$deps:数组(可选)。脚本将在该数组所包含的其他脚本之后处理。
$ver:字符串、布尔值或空值(可选)。指定脚本版本号,将其作为查询字符串添加到 URL 中以清除缓存。 如果设置为 false ,则自动设置当前安装的 WordPress 版本为版本号。 如果设置为 null ,则不添加任何版本。
$in_footer:布尔值(可选)。是否在 body 标签之前加载,而不是在 head 中加载。
注意:使用该函数则必须使用 <?php wp_head();?>
与 <?php wp_footer();?>
获取页眉页脚,否则脚本文件将无法引入!!!
该函数定义在 wp-includes/functions.wp-scripts.php 文件中,具体代码如下:
function wp_enqueue_script( $handle, $src = '', $deps = array(), $ver = false, $in_footer = false ) { $wp_scripts = wp_scripts(); _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ ); if ( $src || $in_footer ) { $_handle = explode( '?', $handle ); if ( $src ) { $wp_scripts->add( $_handle[0], $src, $deps, $ver ); } if ( $in_footer ) { $wp_scripts->add_data( $_handle[0], 'group', 1 ); } } $wp_scripts->enqueue( $handle ); }
参考文档:https://developer.wordpress.org/reference/functions/wp_enqueue_script/