2016-11-25 31 views
0

我很難理解如何導入用於jQuery的特定變量。在jQuery中使用PHP變量作爲變量

上一個WordPress主題的某些鏈接使用

<?php if(get_post_meta($post->ID, "portfolio_link", true)): ?> 
      <h1 class="portfolio-title"> 
       <a target="_blank" href="<?php the_field('portfolio_link'); ?>"> 
        <?php the_field('portfolio_title'); ?> <span class="sosa-icon">p</span> 
       </a> 
      </h1> 
      <!--get PDF if not empty--> 
     <?php else: ?> 
      <h1 class="portfolio-title"><?php the_field('portfolio_title'); ?></h1> 
<?php endif; ?> 

正如你可以看到在href設置爲

href="<?php the_field('portfolio_link'); ?>" 

現在我有一個jQuery腳本如下

<script> 
    <?php if(get_post_meta($post->ID, "portfolio_link", true)): ?> 
    <?php 

$phpVar = 'http://www.google.com'; 
    echo "var phpVariable = '{$phpVar}';"; 

?> 
    jQuery(".box").click(function() { 

    window.open(phpVariable); 
}); 

    <?php endif; ?> 
</script> 

這個腳本目前有效。它以佔位符的形式在一個新選項卡中打開Goog​​le,直到我知道如何使其與href打開相同的結果。

現在我無法理解的是如何設置'$ phpVar'與我之前展示的'href'具有相同的效果,而不是'http://www.google.com';

+0

'window.location.href = phpVariable;' – Kazz

+0

window.open(phpVariable);功能齊全。我的問題是我不知道如何設置該變量與href =「<?php the_field('portfolio_link');?>」 – MartynJH

+0

'$('。box')。attr('href' ,phpVariable);' – Kazz

回答

1

不確定WordPress的處理方式如何,但考慮到the_field('portfolio_title');返回有效的URL,您可以簡單地將JavaScript變量分配給此變量的輸出。

var phpVariable = "<?php the_field('portfolio_link'); ?>"; 
+0

你的評論只是幫助我得到它!謝謝。 我將你的代碼行添加到click函數中,它的工作原理與我需要的完全一樣。 – MartynJH

+0

最終的功能看起來像這樣的人誰需要它: 的jQuery( 「箱子」)點擊(函數(){ VAR phpVariable = 「<?PHP the_field( 'portfolio_link');>」; window.open(phpVariable); }); – MartynJH

+0

我不確定是否應該打開一個新問題或在此處詢問。這確實有效,但我注意到如果禁用了adblock,它將同時打開頁面上的每個鏈接。 – MartynJH