2011-07-26 49 views
0

我在努力弄清楚這一點。我基本上只是想添加一個圖像(external.png)到外部鏈接的末尾。我把圖像放在一個名爲img的目錄中,存儲在我的wordpress主題中。如果我的SRC的圖像是直接的它的工作原理,但我寧願使用:在jQuery中使用PHP鏈接到存儲在WordPress模板目錄中的圖像

<?php bloginfo('template_directory') ?> 

把當右轉入()之後沒有工作,我嘗試這樣做:

$(document).ready(function() { 
var templateDir = "<?php bloginfo('template_directory') ?>"; 
$('a').filter(function() { 
return this.hostname && this.hostname !== location.hostname; 
}).after('<img src="' + templateDir + '/img/external.png" />'); 

} );

但這也沒有效果。有任何想法嗎?提前致謝!

+1

jQuery在客戶端而不是服務器端工作,因爲它是JavaScript。一旦呈現給瀏覽器,你的jQuery看起來像什麼? (使用'查看源代碼'並將相關部分的jQuery粘貼到問題中)。 –

回答

0

在wordpress中,將php變量插入javascript的正確方法是通過wp_localize_script()。在你的Functions.php(或任何插件)中。

<?php 
$data = array('some_string' => __('Some string to translate')); 
wp_localize_script('some_handle', 'object_name', $data); 
?> 

調用時,wp_localize_script()創建一個全局JS對象,然後你可以檢索運行時變量(在客戶端 - 使用Firebug檢查出的JS DOM,確保這是happeneing)。

<script> 
alert(object_name.some_string); // alerts 'Some string to translate' 
</script> 

問題是,在客戶端可用之前,您必須在服務器上定義PHP變量。

或者,你可以用ajax破解一些東西。 But the former solution is the preferred method in WP

乾杯

+0

太棒了。謝謝! –

+0

很高興幫助 - 如果你認爲這個答案是正確的,不要忘記「接受」它; D – Bosworth99

相關問題