首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >队列外部Javascript functions.php

队列外部Javascript functions.php
EN

WordPress Development用户
提问于 2018-04-16 13:22:55
回答 2查看 5.3K关注 0票数 1

由于某些原因,我似乎无法对外部JS文件进行排队。我可以对外部css文件进行排队,但不能对JS文件进行排队。我有一个使用引导css框架工作的自定义主题。我的functions.php如下:

代码语言:javascript
运行
复制
function add_css_scripts(){
    wp_enqueue_style('boot-strap','https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css',false);
    wp_enqueue_style('style', get_template_directory_uri() . '/style.css', false, 'all');
    wp_enqueue_style('media', get_template_directory_uri(). '/assets/css/media.css', false, all);

}
add_action('wp_enqueue_scripts', 'add_css_scripts');

/*Jquery Scripst*/
function add_js_scripts(){
    wp_deregister_script( 'jquery' );
    //wp_enqueue_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js', false, '3.3.1', true);
    wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js', false, '3.3.1', true);
    wp_enqueue_script('jquery');
    wp_register_script('pre', get_template_directory_uri(). '/assets/js/pre.js','1.0.0', array('jquery'), '1.0.0', true);
    wp_enqueue_script('pre');
    //wp_enqueue_script('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js', array('jquery'), '4.1.0', true);
    wp_register_script('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js', array('jquery'), '4.1.0', true);
    wp_enqueue_script('bootstrap');
    //wp_enqueue_script('popper', 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', array('jquery'), '1.12.9', true);
    wp_register_script('popper', 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', array('jquery'), '1.12.9', true);
    wp_enqueue_script('popper');
}
add_action('wp_enqueue_scripts','add_js_scripts');

所有注释掉的代码都是我尝试过的代码,但是没有工作,wp_deregister('jquery');可以工作,因为我需要jquery 3,当我将脚本添加到我的footer.php中时,它可以工作。

EN

回答 2

WordPress Development用户

发布于 2019-05-30 15:29:03

而不是使用get_template_directory_uri().'/assets/js/pre.js','1.0.0'

尝试使用get_theme_file_uri('/assets/js/pre.js','1.0.0')

它对我有效,由于某种原因,当使用get_template_directory_uri()时,您将得到一个403错误

票数 2
EN

WordPress Development用户

发布于 2018-04-16 13:40:54

使用外部jQuery是个坏主意。捆绑的一个被优化以更好地与WordPress一起工作。

对于您的问题,我认为问题在于如何注册外部jquery。在依赖项中使用空数组而不是false

代码语言:javascript
运行
复制
function add_js_scripts(){
    wp_deregister_script( 'jquery' );

    wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js', array(), '3.3.1', true);

    wp_enqueue_script('pre', get_template_directory_uri(). '/assets/js/pre.js','1.0.0', array('jquery'), '1.0.0', true);

    wp_enqueue_script('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js', array('jquery'), '4.1.0', true);

    wp_enqueue_script('popper', 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', array('jquery'), '1.12.9', true);

}
add_action('wp_enqueue_scripts','add_js_scripts');  

另外,您不需要单独地对jquery进行排队。当您将任何依赖于jquery的脚本设置为jquery时,它将自动在脚本之前对其进行排队。

票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/300925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档