2012-08-02 113 views
0

我需要將這個特定的JS代碼片段添加到Wordpress驅動的網站的區域。wordpress自定義js標題

<script type="text/javascript"> 
    var myDate = new Date(); 
    var myStamp = ""+myDate.getDate()+myDate.getMonth()+myDate.getFullYear()+myDate.getHours()+myDate.getMinutes(); 
    document.write('<script type="text/javascript" src="https://ajaxgeo.cartrawler.com/cartrawlerabe/abe/js/abeSVNInfo.js?' + myStamp + '"><\/script>'); 
    </script> 
    <script type="text/javascript"> 
    document.write('<script type="text/javascript" src="https://ajaxgeo.cartrawler.com/cartrawlerabe/abe/js/ct_abe.js?'+CARTRAWLER.SVNInfo.revision+'"><\/script>'); 
    </script> 
    <script type="text/javascript"> 
    //<![CDATA[ 
    var theForm = document.forms['form']; 
    if (!theForm) { 
     theForm = document.form; 
    } 
    function __doPostBack(eventTarget, eventArgument) { 
     if (!theForm.onsubmit || (theForm.onsubmit() != false)) { 
      theForm.__EVENTTARGET.value = eventTarget; 
      theForm.__EVENTARGUMENT.value = eventArgument; 
      theForm.submit(); 
     } 
    } 
    //]]> 
    </script> 

什麼是最好的方法來實現這一目標?

+0

是否允許更改模板,或者可以構建自己的插件或者可以創建自己的主題?有多種選擇。 – Krycke 2012-08-02 07:52:08

回答

1

在這種情況下,我會說使用WordPress的wp_enqueue_script功能效果最好。

首先將JavaScript放入單獨的文檔(即cartrawler.js)中。將此JavaScript文檔放入主題中(最好放在/ js文件夾中)。之後,你會告訴你的主題使用該文件夾中的JavaScript。這種方法的好處是,它更容易控制何時何地加載JavaScript(比如只在home paga的頭文件中),並且它可以更好地兼容緩存插件,比如(Better)WP Minify。

這是它如何工作的:

做一個單獨的JavaScript文件並將其存儲在主題文件夾內(即主題/ JS/cartrawler.js):

var myDate = new Date(); 
var myStamp = ""+myDate.getDate()+myDate.getMonth()+myDate.getFullYear()+myDate.getHours()+myDate.getMinutes(); 
document.write('<script type="text/javascript" src="https://ajaxgeo.cartrawler.com/cartrawlerabe/abe/js/abeSVNInfo.js?' + myStamp + '"><\/script>'); 
document.write('<script type="text/javascript" src="https://ajaxgeo.cartrawler.com/cartrawlerabe/abe/js/ct_abe.js?'+CARTRAWLER.SVNInfo.revision+'"><\/script>'); 

var theForm = document.forms['form']; 
if (!theForm) { 
    theForm = document.form; 
} 
function __doPostBack(eventTarget, eventArgument) { 
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) { 
     theForm.__EVENTTARGET.value = eventTarget; 
     theForm.__EVENTARGUMENT.value = eventArgument; 
     theForm.submit(); 
    } 
} 

你做了之後JavaScript的文檔,你可以添加到您的function.php文件:

// Enqueue JavaScripts 
function theme_scripts() { 
    wp_enqueue_script('cartrawler', get_template_directory_uri() . '/js/cartrawler.js', array(), '20120802', '1'); 
} 
add_action('wp_enqueue_scripts', 'theme_scripts'); 

我們做什麼調用JavaScript是以下時:我們給JavaScript的一個名字(cartrawler)和告訴函數可以找到源的地方。之後我們定義了任何依賴關係,幸運的是我們沒有任何依賴關係。之後,我們添加一個版本號(20120802)並告訴函數將JavaScript加載到頁腳中。它不需要在頭後(thumbsup @Lixus)。

瞭解更多關於這裏使用wp_enqueue_script功能:http://codex.wordpress.org/Function_Reference/wp_enqueue_script

注:請確保您的header.php使用wp_header()函數和你的footer.php使用wp_footer()函數。

+0

非常感謝您的詳細解釋rlautan! 5星豪華 – 2012-08-03 03:58:38

+0

不客氣@PatrickLanfranco!讓我知道它是否成功。 – 2012-08-03 13:03:58

0

在WordPress的後端,轉到外觀 - >編輯器,並在右側菜單(footer.php)中選擇頁腳模板。

然後在</body>標記之前添加您的代碼。

編輯:我認爲最好將這段代碼添加到頁腳,因爲它不會等待文檔加載。