在wordpress中找不到jquery文件

在wordpress中找不到jquery文件,jquery,wordpress,Jquery,Wordpress,我在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

我在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");
});

首先,确保已将WordPress加载到模板中

在头文件中,确保已将其加载到非函数文件中

<?php wp_enqueue_script("jquery"); ?>

接下来,WordPress必须使用
noConflict
模式或使用基本
jQuery
调用而不是
$。


您需要确保已将f.js文件上载到/wp content/themes/youractivetheme/f.js中

而且也不需要上传jquery.js,因为它已经从wp includes继承并包含了

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

获取样式表目录uri()


您可以这样添加并定义优先级高,以便最终加载。

您的代码几乎没有问题

首先,不应使用
wp\u footer
hook将脚本排队。太晚了

wp\u footer
是在
wp\u footer()
函数调用期间运行的操作挂钩。打印页脚脚本是分配给该钩子的操作。这意味着要打印其中的任何脚本,必须在打印它们之前将它们排队

好的做法是使用
wp\u-enqueue\u脚本
hook将脚本排队。若你们想把它排在页脚的队列中,那个么告诉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' );
jQuery(function ($) {
    // you can use $ inside this function

    $(document).ready(function(){
        alert("ready good");
    });
});
另一件事是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文件应该如下所示:

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' );
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作为该句柄的依赖项加载之前将其排队

希望它对你有用