ReferenceError:在wordpress网站中没有定义jQuery

时间:2015-07-01 14:10:10

标签: jquery wordpress

  

我在加载wordpress webiste时遇到此错误。它停止了革命slider.i的工作使用wordpress的total_child主题。任何帮助。?

jQuery(document).ready(function() {
            // CUSTOM AJAX CONTENT LOADING FUNCTION
            var ajaxRevslider = function(obj) {

                // obj.type : Post Type
                // obj.id : ID of Content to Load
                // obj.aspectratio : The Aspect Ratio of the Container / Media
                // obj.selector : The Container Selector where the Content of Ajax will be injected. It is done via the Essential Grid on Return of Content

                var content = "";

                data = {};

                data.action = 'revslider_ajax_call_front';
                data.client_action = 'get_slider_html';
                data.token = 'ef60422c21';
                data.type = obj.type;
                data.id = obj.id;
                data.aspectratio = obj.aspectratio;

                // SYNC AJAX REQUEST
                jQuery.ajax({
                    type:"post",
                    url:"http://christiansteven.com/en/wp-admin/admin-ajax.php",
                    dataType: 'json',
                    data:data,
                    async:false,
                    success: function(ret, textStatus, XMLHttpRequest) {
                        if(ret.success == true)
                            content = ret.data;                             
                    },
                    error: function(e) {
                        console.log(e);
                    }
                });

                 // FIRST RETURN THE CONTENT WHEN IT IS LOADED !!
                 return content;                         
            };

2 个答案:

答案 0 :(得分:1)

在页面的第47行,您正在加载jQuery并指定defer属性:

<script type='text/javascript' src='http://christiansteven.com/en/wp-includes/js/jquery/jquery-migrate.min.js' defer='defer'></script>

defer属性是一个布尔属性。如果存在,它指定在页面完成解析时执行脚本。

你的代码稍微向下,你有这个:

<script type='text/javascript'>try{jQuery.noConflict();}catch(e){};</script>

当解析这一行JS时,jQuery不存在,正如您之前指定的那样defer

如果您删除了defer,您会看到滑块为您提供了一条不同的错误消息,您可以(据称)通过WP中的插件设置解决该问题。

答案 1 :(得分:0)

WordPress已经包含了jQuery的副本。将jQuery脚本排入队列(使用WordPress入队脚本函数)将使其可用于您的代码。

wp_enqueue_script("jquery");

此外,要将需要jQuery的其他脚本排入队列,您可以使用相同的语法指定&#34; jquery&#34;在所需脚本数组中:

wp_enqueue_script('myScriptName', '/pathToScript/myScriptFile.js', array('jquery'), '1.0.0', true);

Here是wp_enqueue_script函数引用。