我使用functions.php排队javascript文件,其中一个是外部链接,另一个不是。
它们都正在加载,但它在外部加载内部文件,因此有些代码无效。
这是代码:
function _tandt_scripts() {
$my_js_ver = date("ymd-Gis");
wp_deregister_script( 'jquery' );
wp_register_script('jquery', 'https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js', array(), '2.1.3', true);
wp_enqueue_script( '_tandt-main', get_template_directory_uri() . '/_assets/js/main/min/main-min.js', array(), $my_js_ver, true );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', '_tandt_scripts' );
正如您在屏幕截图中看到的那样,它首先加载'main-min.js',而它应该是相反的。
截图
答案 0 :(得分:1)
您重新注册了jQuery脚本,但您没有将其排入页面。
在wp_register_script
之后添加此行:
wp_enqueue_script("jquery");
并更改此行:
wp_enqueue_script( '_tandt-main', get_template_directory_uri() .
'/_assets/js/main/min/main-min.js', array(), $my_js_ver, true );
为:
wp_enqueue_script( '_tandt-main', get_template_directory_uri() .
'/_assets/js/main/min/main-min.js', array("jquery"), $my_js_ver, true );
将jquery
作为依赖项。
答案 1 :(得分:0)
您尚未指定第二个脚本依赖于第一个脚本。
wp_enqueue_script( '_tandt-main',
get_template_directory_uri() . '/_assets/js/main/min/main-min.js',
array(), $my_js_ver, true );
此行应更改为包含jquery
dependemcy。
wp_enqueue_script( '_tandt-main',
get_template_directory_uri() . '/_assets/js/main/min/main-min.js',
array('jquery'), $my_js_ver, true );
有关详细信息,请参阅WordPress文档:wp_enqueue_script()