2016-03-18 95 views
0

我幫助我的一些客戶跟蹤他們的網站使用情況,讓他們在頁眉或頁腳頁面插入一些JavaScript代碼。我最近有一個客戶告訴我他使用的是Wordpress和「他們不允許腳本」。我對Wordpress一無所知,因爲我從來沒有用過它。以下是我希望他安裝的代碼(爲了簡潔和安全性而修改了一些代碼):如何將JavaScript代碼插入Wordpress網站?

<div> 
    <script> 
     var wandTopSitesUserId = 28; 
     document.cookie = 'SiteMetrics=' + wandTopSitesUserId + '; expires=Tue, 1 Jan 2030 00:00:00 UTC; path=/'; 

     document.write('<div><a href="http://www.xyxyxyx.com/"><img src="http://www.xyxyxyx.com/Log/LogVisit/?siteId=28&userId=' + wandTopSitesUserId + '&pageName=' + location.pathname + '&userAgent=' + navigator.userAgent + '" alt="Site Metrics" /></a></div>'); 
    </script> 
</div> 

上面的實際代碼並不重要。我只需要知道是否有任何特殊的WordPress用戶需要安裝此代碼?

此外,用戶使用Wordpress.com,而不是Wordpress.org

+0

wordpress.com根本不允許使用Javascript:en.support.wordpress.com/code/#javascript – markratledge

回答

0

對於這樣一個小腳本我不會推薦主題鉤子。

您正在爲一小段代碼提出額外的HTTP請求,並且如果它們的服務器不太好,可能導致瀏覽器等待承載文件的服務器將文件發送回瀏覽器,從而導致延遲腳本觸發。

爲此我直接將它放在活動主題(wp_content/themes/<theme_name>)內的footer.php文件中。將代碼放在</body>標記的上方,以確保主站點加載沒有延遲(不是說您發送的腳本會盡可能延遲頁面加載)。

+0

我剛剛發現用戶使用的是Wordpress.com,而不是Wordpress.org。這是否有所作爲? –

+0

是的,他們不能編輯主題,也不能安裝插件。我不認爲你可以在wordpress.com網站上插入代碼。 – toomanyredirects

+0

你應該在修改主題之前製作一個兒童主題:http://codex.wordpress.org/Child_Themes – markratledge

2

使用鉤子,你可以將你的腳本插入到頁眉或頁腳。它相當容易。不要以複雜的方式來考慮它。

爲腳本是在報頭中簡單地使用以下鉤

add_action('wp_head', 'some_function_name'); 

函數名是在你的functions.php例如定義的功能。

function.php文件

function some_function_name() { 
?> 
<script>//Your Normal JS Code</script> 
<?php 
} 

同樣,添加你的腳本在頁腳,你只需要做以下。

add_action('wp_footer', 'some_function_name'); 

如果您的函數在functions.php文件

詳情參見法典規定: https://codex.wordpress.org/Plugin_API/Action_Reference/wp_head https://codex.wordpress.org/Function_Reference/wp_footer

欲瞭解更多信息的魚鉤: http://wpcandy.com/teaches/how-to-use-wordpress-hooks/

0

我作爲一名Wordpress開發人員相當普通,但就我的知識和經驗而言,只要您將該代碼放入header.php當前主題文件在短期內應該沒有問題。

當然,如果主題是由第三方開發的,它將更新它,您將失去代碼,避免此問題的快速(但不是最優雅的)方法是從當前主題並添加該代碼。如果你願意花更多時間在客戶端上(或者你懷疑你會有更多的客戶使用Wordpress),最好的解決方案是開發一個插件,它可以與主題分開安裝,並且可以在任何主題更新後繼續使用。

0

最簡單的事情就是使用一個簡單的插件,允許您和客戶端輕鬆添加腳本到任何WordPress安裝。這意味着您可以將腳本剪切並粘貼到文本框中,保存並且該腳本將處於活動狀態。

根據給出的其他答案:你不需要在functions.php排隊腳本,因爲這是矯枉過正。並且您不需要(也不應該)通過將腳本添加到header.phpfooter.php來修改主題;如果您執行其中任一項或添加到functions.php,則需要製作一個兒童主題 - 請參閱Child Themes « WordPress Codex - 在主題更新時不覆蓋這些更改(並刪除添加到主題中的腳本和任何代碼)。

嘗試https://wordpress.org/plugins/header-and-footer-scripts/輕鬆地將腳本添加到網站頁眉和頁腳。您可能需要在Javascript附近保留<script>標籤;閱讀插件的文檔。這樣一個簡單的插件不會減慢網站的速度。

<div>標籤是沒有意義的,除非您想要顯示樣式,這意味着您需要給他們一個類,即<div class="myclass">並將該樣式添加到主題中的style.css中。再一次,如果您爲主題文件添加任何內容,請製作一個兒童主題。

+0

我剛剛發現用戶正在使用Wordpress.com,而不是Wordpress.org。這是否有所作爲? –

+0

差異很大;他們根本不允許使用Javascript:https://en.support.wordpress.com/code/#javascript – markratledge

相關問題