无论我做什么,JQuery都无法在我的wordpress网站上正常运行!

注意-这是我的第一个wordpress网站

我已经尝试过了现在似乎已成为一切的一切,但是我无法让jQuery在我的wordpress网站上正常运行。

我尝试删除默认的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网站,所以我不确定这些是否正常


当我检查网站并查看网站资源时,没有jquery。我假设它已编译并添加到“ scripts.js”文件中?那就是我的网站正在运行的唯一JavaScript文件。
当我运行wp_enqueue_script('jquery')时,它实际上对代码没有任何作用。例如,如果我在标头中运行它,然后检查源代码,则它不会添加到jquery或其他任何内容中。我以为wp_enqueue_script('jquery')应该在代码中添加JQuery吗?
我使用的一些无法找到jQuery的插件是NinjaForms和SB Instagram(NinjaForms不会显示任何错误,除非我尝试提交表单,然后我会收到jQuery.ajax is not a function


我在互联网上进行了搜索,并尝试了大部分发现的内容,据我所知,这不是重复的问题!

有人对我如何解决此问题和解决问题有任何想法吗?

编辑

我可以得到它,以便可以加载JQuery,并且可以在源代码中看到它并且不会出错,但是,一旦插件尝试访问它,它就会抛出错误


  未捕获的ReferenceError:未定义jQuery

最佳答案

因此,您无需手动排队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上进入入队过程以加载自己的脚本。

//Create the action to enqueue the admin scriptsadd_action('admin_enqueue_scripts', 'admin_scripts');

找到如何使用wp_enqueue_script的资源

10-05 20:52
查看更多