javascript - wordpress wp_script_is 不适用于自定义脚本

标签 javascript php wordpress wordpress-theming

我尝试仅在特定脚本加载完成后加载某些内容。 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/

相关文章:

jquery - WordPress 4.4 图片与 Srcset 和 Bxslider 冲突

javascript - 如何在 knockout.js 中的 foreach 中使用计算方法

javascript - 在 HTML5 中从 sql 检索数据

javascript - 如何防止 twig 自动转义日语字符?

php - 将 PHP 设置传递给 Javascript 的最佳方式是什么?

wordpress - wp-admin 或 wp-login.php 上的重定向循环

javascript - JS - 使用原型(prototype)调用静态方法

php - Laravel 5.1 Eloquent belongsTo 关系加入多列

php - 如何创建/使用基于 namespace 的 PHP 自动加载器来加载类以及常量和函数?

css - wordpress子主题两次加载子样式,没有父样式