2016-02-13 119 views
1

我將Bootstrap模板轉換爲WordPress主題(我的第一個主題),並且我努力成功調用所有腳本,這些腳本在WordPress之前運行良好。自定義WordPress主題中調用腳本的問題

我得到以下錯誤,在header.php中坐的腳本:

Uncaught ReferenceError: $ is not defined 

腳本:

<script> 
    $(window).on('beforeunload', function() { 
     $(window).scrollTop(0); 
    }); 
</script> 

我使用jQuery,而不是$,它致力於解決一個嘗試其他幾個腳本,但它告訴我jQuery沒有定義。

我也試圖撥打webshim填充工具,但它說,它不是定義:

Uncaught ReferenceError: webshim is not defined 

腳本:

<script> 
    webshim.setOptions('forms', { 
     replaceValidationUI: true, 
     lazyCustomMessages: true 
    }); 

    //start polyfilling 
    webshim.polyfill('forms'); 
</script> 

這個腳本也header.php中。我能想到的唯一的事情就是WordPress在我的腳本後加載jQuery,但我試圖避免手動調用它。我應該將這些腳本移到footer.php中嗎?

最後,我通過@import引用了兩個Google Web字體,但都沒有加載。我無法找到使用@ font-face的字體網址,所以我不確定WordPress的最佳方法。

我所有的主要JS文件都在functions.php中調用,除了這些初始化腳本。讓我知道是否需要提供更多細節。

任何幫助,將不勝感激!

+0

形式在這裏https://wordpress.org/support/topic/jquery-library-not-loading - $別名是問題,因爲幾個圖書館使用它。爲了避免這個問題,WordPress以「無衝突」模式加載jQuery。這意味着$ alias不起作用,您必須像David Gwyer那樣加載jQuery,在有限範圍內定義$ alias,或者每次調用jQuery函數時都使用jQuery。*。這就是爲什麼你在使用$時遇到問題。 – Tasos

+0

我試圖限定$別名,它返回相同的錯誤: '的jQuery(窗口)。在( 'beforeunload',函數($){ \t \t \t $(窗口).scrollTop(0); \t \t });' –

+0

另外,我通過更改我在styles.php中樣式表的順序來修復CSS/fonts問題。 –

回答

0

你可以試試這個:

(function($) { 
 
    $(window).on('beforeunload', function() { 
 
    $(window).scrollTop(0); 
 
    }); 
 
}(jQuery));

+0

這也返回一個錯誤,說jQuery沒有定義。 –