2016-11-25 52 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