如何在WordPress 5.7+中使用jQuery

时间:2021-07-08 作者:breadwild

如果WordPress中包含jQuery,为什么会出现“jQuery未定义”错误?我找不到关于如何在现代版本的WordPress中使用jQuery(我使用的是5.7)的教程(人们会认为这应该在WordPress文档中)。我需要排队吗?注销任何内容?在函数中执行任何操作。php。我尝试过:

var $j = jQuery.noConflict();
jQuery(document).ready(function($)
(function($) {
是否有文档解释了在WordPress代码中使用jQuery的基本方法?我在互联网上找到的所有东西都很旧,或者都不能解决这个问题。

谢谢

更新(根据Jos Faber的建议),但仍存在未定义的错误:

function hs_load_scripts() {
        wp_enqueue_script(\'jquery\');
}
add_action(\'wp_enqueue_scripts\', \'hs_load_scripts\');
<script>
    const $ = jQuery.noConflict();
    $(function() {

        $(\'#servers\').on(\'submit\', function(){
            $.ajax({
                type: \'POST\',
                url: ajax_url, 
                ...

2 个回复
SO网友:Jos Faber

(我使用的是5.7.2)您只需使用以下内容:const $ = jQuery.noConflict();. 但是,您必须确保加载的文件是在jQuery之后加载的,以防止出现计时问题。因此,要么将jQuery作为脚本的依赖项,如下所示:

function _jf_load_scripts()
{
        wp_register_script(\'main\', get_template_directory_uri() . \'/build/js/main.bundle.js\', array(\'jquery\'), MY_VERSION, TRUE);
        wp_enqueue_script(\'main\');
}
add_action(\'wp_enqueue_scripts\', \'_jf_load_scripts\');
或者预先将jQuery排队,如下所示:

function _jf_load_scripts()
{
        wp_enqueue_script(\'jquery\');

        wp_register_script(\'main\', get_template_directory_uri() . \'/build/js/main.bundle.js\', array(), MY_VERSION, TRUE);
        wp_enqueue_script(\'main\');
}
add_action(\'wp_enqueue_scripts\', \'_jf_load_scripts\');
当您的脚本在jQuery之后加载时,您上面描述的任何使用的方法都应该可以工作。

SO网友:breadwild

我不愿意承认这一点(我可能会因为自己是个傻瓜而被StackExchange开除)。结果是。。。滚筒滚动。。。我忘了get_header() 在我的页面上。无标题,无任何内容。

相关推荐

创建小部件但缺少jQuery

使用Astra主题,我无法在前端使用jQuery。它一直在记录Uncaught ReferenceError: jQuery is not defined at VM105:23. 实际上,假设Wordpress配备了jQuery,但我不明白为什么在控制台中会出现“未定义”的错误消息。为了添加jQuery,我只编写了以下代码,但没有效果: function addjq () { wp_enqueue_script(\'jquery\', plugin_dir_url(__FILE