dsv73806 2016-02-06 21:07
浏览 67
已采纳

wordpress wp_script_is没有处理自定义脚本

I'm trying to load something only after a specific script is done loading. Wordpress provides a method to detect if a script loaded or not via 'wp_script_is'. When I use the jquery handle with "done" it works but when I use a custom script handle, nothing happens. My code:

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' );

Interestingly, if I use the 'jQuery' script handle instead of my custom script handle, it works. Or if I use my custom script handle with "enqueued" instead of "done" it also works but I need it to work specifically with "Done".

  • 写回答

1条回答 默认 最新

  • dongwo2772 2016-02-06 22:07
    关注

    My suspicion is that your custom script hasn't been printed by the time you run wp_script_is(), since you're using the default add_action() priority of 10. Adding any priority greater than 10 should solve the issue:

    add_action( 'wp_footer', 'include_file', 20 );
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题
  • ¥15 主机可以ping通路由器但是连不上网怎么办
  • ¥15 数据库一张以时间排好序的表中,找出多次相邻的那些行
  • ¥50 关于DynamoRIO处理多线程程序时候的问题
  • ¥15 kubeadm部署k8s出错
  • ¥15 Abaqus打不开cae文件怎么办?
  • ¥15 小程序准备上线,软件开发公司需要提供哪些资料给甲方