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 在上述示例中。