dpziir0079 2016-08-23 09:59
浏览 318
已采纳

Wordpress - wp_enqueue_script / wp_enqueue_style不起作用

I have coded myself a little WP-Plugin, where I do

wp_enqueue_script('jquery');        
wp_enqueue_script('myapp1', $pluginpath . 'build/js/app.min.js', array('jquery')); 
wp_enqueue_style("myapp2", $pluginpath . 'build/css/style.css');

while testing on my localhost, everythink worked fine, so I uploaded everything to my server and there, my plugin works, too, but the app.min.js and the style.css is not included(?)

what could be the cause for this?

  • 写回答

2条回答 默认 最新

  • douchuopiao9002 2016-08-23 11:20
    关注

    Files that are referenced with wp_enqueue_script()/wp_enqueue_style() are used in the wp_head() function.

    By the time your shortcode is evaluated this part is already finished, so your files will never be referenced.

    You have to add your style using the wp_enqueue_scripts action:

    function my_scripts() {
        wp_enqueue_style("myapp2", $pluginpath . 'build/css/style.css');
    }
    add_action( 'wp_enqueue_scripts', 'my_scripts' );
    

    There is no way around that, because the style belongs in the head.

    For your JS though, you can use another parameter to load it in the footer:

    wp_enqueue_script('myapp1', $pluginpath . 'build/js/app.min.js', array('jquery'), "1.0", true); 
    

    You can add this in your shortcode so at least the JS will only be loaded when it is needed.

    (The version number can be anything you want, it is useful to increment it when you release new version of your JS file, so browsers don't use old versions from cache.)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记