[英]Wordpress JQuery not running for plugins
无论我做什么,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网站,所以我不确定这些是否正常
wp_enqueue_script('jquery')
,它实际上对代码没有任何作用。 例如,如果我在标头中运行它,然后检查源代码,则它不会添加到jquery或其他任何内容中。 我认为wp_enqueue_script('jquery')
应该在代码中添加JQuery是错误的吗? 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 scripts add_action('admin_enqueue_scripts', 'admin_scripts');
在此处找到如何使用wp_enqueue_script的资源
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');
尝试添加
define('CONCATENATE_SCRIPTS', false);
在您的wp-config.php文件中。
但是,这可能更像是调试工具,以帮助您隔离问题而不是“解决”问题。 我认为您的问题是由插件引起的。 请禁用所有插件,并删除在代码中手动添加jQuery的任何方法,然后重试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.