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"作为该手柄的依赖性。
希望它对您有用。