wp_enqueue_script()
和wp_enqueue_style()
两者都使用WP_Dependencies::add()
初始化的新实例_WP_Dependency
(参见wp_scripts()
和wp_styles()
), 因此,所有脚本的依赖项都存储在deps
类实例的属性。
但是,该属性仅存储脚本依赖项的句柄名称,例如。jquery-migrate
和jquery-core
对于默认/核心jQuery脚本(句柄名称:jquery
), 因此,要获取依赖项文件(脚本/样式表)的实际URL,我们需要使用WP_Dependencies::all_deps()
然后循环通过WP_Dependencies::$to_do
获取依赖项的src
值:
// Enqueue a script:
wp_enqueue_script( \'my-script\', \'/path/to/file.js\', [ \'jquery\' ] );
// Get all its dependencies:
wp_scripts()->all_deps( \'my-script\' );
foreach ( wp_scripts()->to_do as $handle ) {
$dep = wp_scripts()->registered[ $handle ];
var_dump( $dep->handle, $dep->src );
// or do something with $dep->src ...
}
// Enqueue a style:
wp_enqueue_style( \'my-style\', \'/path/to/file.css\', [ \'foo-dep\' ] );
// Get all its dependencies:
wp_styles()->all_deps( \'my-style\' );
foreach ( wp_styles()->to_do as $handle ) {
$dep = wp_styles()->registered[ $handle ];
var_dump( $dep->handle, $dep->src );
// or do something with $dep->src ...
}
请注意
$dep->src
可以是
false
如果依赖项包含依赖项,例如默认值
jquery
手柄具有
jquery-migrate
作为依赖项。(但别担心,依赖项将在
to_do
阵列。)其次
to_do
数组还包括实际文件,例如。
file.js
在上述示例中。