无论我做什么,JQuery都无法在我的wordpress网站上正常运行!
注意 - 这是我的第一个wordpress网站
我已经尝试了现在似乎所有的东西,但我无法在我的wordpress网站上正常运行jQuery。
我尝试删除默认的wordpress jquery并使用运行我自己的
wp_deregister_script('jquery');
wp_register_script('jquery', get_stylesheet_directory_uri() . '/inc/jquery-3.3.1.min.js', false, '3.3.1', false);
wp_enqueue_script('jquery');
但是这会返回以下错误
未捕获的TypeError:jQuery.ajax不是函数/ jquery-3.3.1.min.js 未捕获的TypeError:jQuery.ajax不是函数/ front-end-deps.js
我试图在我的页眉和页脚脚本之前首先加载jquery
wp_enqueue_script('jquery');
include(locate_template('inc/layout/header-layout.php'));
wp_head();
这会删除jQuery.ajax is not a function
错误,但是我安装的任何插件都找不到jquery并返回错误,如
未定义jQuery
**我尽可能手动将jquery调用到wp_enqueue_script()
,例如
wp_enqueue_script('my_script_name', array('jquery'));
这往往会修复它,但此选项并非适用于所有插件。
我已完全删除了所有手动jQuery调用,并尝试在默认情况下允许wordpress执行此操作
这不会立即抛出任何错误,直到插件尝试使用Jquery,然后我才能
未捕获的TypeError JQuery.ajax不是函数
Wordpress包含Jquery的方式肯定会让整个网站都能访问它吗?
很少有事情要注意,因为我说这是我的第一个wordpress网站所以我不确定这些是否正常
wp_enqueue_script('jquery')
时,它实际上并没有对代码做任何事情。例如,如果我在标题中运行它,然后检查源代码,它不会添加jquery或任何东西。我认为wp_enqueue_script('jquery')
应该将JQuery添加到代码中是错误的吗?jQuery.ajax is not a function
)我在互联网上搜索并尝试了我发现的大部分内容,因此我知道这不是一个重复的问题!
有没有人对我如何解决这个并解决问题有任何想法?
修改的
我可以得到它以便JQuery加载,在源代码中可以查看并且没有错误,但是一旦插件尝试访问它,它就会抛出错误
未捕获的ReferenceError:未定义jQuery
答案 0 :(得分:1)
所以有些事情,你不必手动排队jquery,因为你可以将它作为参数传递给其他查询。如果你看下面的例子,wp_enqueue_script函数有3个参数。 ('文件名','目录','要在此之前加载的脚本数组')。
wp_enqueue_script('semantic.min.js', '/wp-content/plugins/ct-plugin/js/semantic.min.js', array('jquery'));
另一件事是,在wordpress中你无法使用$
简写为jQuery,你必须在脚本中键入jQuery()
才能正确加载。也许如果你能提供你试图运行的脚本的一些上下文,它将有助于我们更好地诊断。
我的最后一个想法是,当加载插件时,你不会调用一个函数来加载它们将你的值排入队列。请参阅下面的代码,了解如何在wordpress上挂入enqueue进程以加载自己的脚本。
//Create the action to enqueue the admin scripts
add_action('admin_enqueue_scripts', 'admin_scripts');
如何使用wp_enqueue_script找到here
的资源答案 1 :(得分:0)
function my_amazing_scripts() {
wp_enqueue_script('my-great-script', plugin_dir_url( __FILE__ ).'/js/your-amazing-jquery.js', array('jquery'), '3.3.1', true);
}
add_action('wp_enqueue_scripts', 'my_amazing_scripts');
答案 2 :(得分:0)
尝试添加
define('CONCATENATE_SCRIPTS', false);
在你的wp-config.php文件中。
然而,这可能更像是一个调试工具,以帮助您隔离问题,而不是“解决”问题。它。 我认为你的问题是由插件引起的。请禁用所有插件并删除在代码中手动添加jQuery的任何方法,然后重试。