我尝试仅在特定脚本加载完成后加载某些内容。 Wordpress provides a method通过“wp_script_is”检测脚本是否加载。当我将 jquery 句柄与“done”一起使用时,它可以工作,但是当我使用自定义脚本句柄时,什么也没有发生。我的代码:
function my_custom_scripts() {
wp_enqueue_script( 'custom_script_handle', '/stem_plugins/temp.js', array( 'plugins', 'jquery' ), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_custom_scripts' );
function include_file() {
if ( wp_script_is( 'custom_script_handle', 'done' ) ) {
include('dependent_file.php');
}
}
add_action( 'wp_footer', 'include_file' );
有趣的是,如果我使用“jQuery”脚本句柄而不是自定义脚本句柄,它就可以工作。或者,如果我将自定义脚本句柄与“enqueued”而不是“done”一起使用,它也可以工作,但我需要它专门与“Done”一起工作。
最佳答案
我怀疑您的自定义脚本在运行 wp_script_is()
时尚未打印,因为您使用的是默认的 add_action()
优先级10. 添加任何大于 10 的优先级应该可以解决问题:
add_action( 'wp_footer', 'include_file', 20 );
关于javascript - wordpress wp_script_is 不适用于自定义脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35246470/