在WordPress中找不到jQuery文件



i在functions.php中链接jQuery文件,但不起作用这是functions.php

中的代码
add_action("wp_footer","js_scripts");
function js_scripts()
{
    wp_enqueue_script("jquery",get_template_directory_uri()."/jquery.js");
    wp_enqueue_script("f",get_template_directory_uri()."/f.js");
}

这是f.js中的代码

$(document).ready(function(){
    alert("ready good");
});

您需要确保已将F.JS文件上传到/wp-content/themes/youractivetheme/f.js

您可以使用此方法而不是get_template_directory_uri()

get_stylesheet_directory_uri();

function wpdocs_scripts_method() {
wp_enqueue_script( 'custom-script', get_stylesheet_directory_uri() . '/f.js', array( 'jquery' ) ); } 
add_action( 'wp_enqueue_scripts', 'wpdocs_scripts_method', 100 );

您添加了这样的添加并定义了优先级高点,因此终于加载了。

您的代码几乎没有问题...

首先,所有,您不应使用 wp_footer挂钩来制定脚本。这是迟到的方式。

wp_footer是一个在wp_footer()功能调用期间运行的操作钩。打印页脚脚本是分配给该钩子的动作。这意味着要在其中打印任何脚本,您必须在打印之前就加入它们。

好的做法是使用wp_enqueue_scripts挂钩来加入脚本。而且,如果您想为页脚招募它,那么如果给定的脚本应放在标题或页脚中,则有一个参数告诉WP。因此,在更改此之后,您的代码看起来像这样:

function js_scripts() {
    wp_enqueue_script( 'jquery', get_template_directory_uri() . '/jquery.js', array(), null, true );
    wp_enqueue_script( 'f', get_template_directory_uri() . '/f.js', array(), null, true );
}
add_action( 'wp_enqueue_scripts', 'js_scripts' );

另一件事是WordPress已经拥有自己的jQuery文件,您应该始终使用该文件。所有主题和插件都假定这是网站上使用的jQuery的版本 - 因此,引起自己的jQuery文件可能会引起很多冲突。而且您不必加入它 - 您需要做的就是使用脚本依赖机制:

function js_scripts() {
    wp_enqueue_script( 'f', get_template_directory_uri() . '/f.js', array('jquery'), null, true );
}
add_action( 'wp_enqueue_scripts', 'js_scripts' );

和最后一件事 ... WordPress在无冲突模式下使用jQuery。这意味着您无法在脚本中使用$,因为没有定义这样的全局变量。您必须使用jQuery。通过将所有代码包装到功能中,您可能会使您的生活更轻松。因此,您的JS文件应该看起来像这样:

jQuery(function ($) {
    // you can use $ inside this function
    $(document).ready(function(){
        alert("ready good");
    });
});

jQuery已经在您的WordPress中,您只需将其加入文件即可。您可以使用它的方式如下:

function theme_enqueue_scripts() {
wp_enqueue_script( 'f-script', get_stylesheet_directory_uri() . '/f.js', array( 'jquery' ) ); } 
add_action( 'wp_enqueue_scripts', 'theme_enqueue_scripts', 10 );

因此,f.js文件将其加载为" jQuery"作为该手柄的依赖性。

希望它对您有用。

相关内容

  • 没有找到相关文章

最新更新