从wordpress短代码更改链接文本php

时间:2015-12-03 18:57:49

标签: php jquery wordpress wordpress-plugin advanced-custom-fields

我正在与客户的wordpress联盟网站合作。

我们正在使用两个插件相互连接。

  • ACF(高级自定义字段)
  • EasyAzon(通过短代码将附属链接插入您的帖子)

我为这个短代码设置了自定义字段,并将其编码为我的代码。

<div class="top-link"> <?php the_field('link-button'); ?></div>

输出:

<div class="top-link"> <a href="http://www.theaffiliatelink.com/path/to/product">Buy Now</a> </div>

现在我想在页面底部使用相同的功能“<?php the_field('link-button'); ?>”。

但我想在锚标记中显示来自另一个ACF字段“<?php the_field('bottom-link'); ?>”的文字。

但如果该字段中没有文字,我希望它使用“点击在亚马逊上购买”文字

所以这就是我所拥有的:

<div class="top-link"><?php the_field('link-button'); ?></div>

<!-- The post content -->           

<div class="bottom-link"> <?php the_field('link-button'); ?></div>


<?php 
    $link = get_field('bottom-link');

    if (get_field('bottom-link') != '') {
        $link = get_field('bottom-link');
    }
    else {
        $link = "Click to Buy Amazon";
    }
?>


<script>
var link = '<?php echo $link; ?>';

jQuery( document ).ready(function() {
    jQuery('.bottom-link a').text(link);
});
</script>

我对两种语言都很陌生,可能会使事情复杂化。任何想法都会有所帮助!

如果您有兴趣查看该网站,请访问以下网站。

http://tttrend.com/wtbag/gifts-for-men/general/test-post/

1 个答案:

答案 0 :(得分:0)

这是你应该做的事情

<?php 
    $link = get_field('bottom-link');

    if (!isset($link) || empty($link) ) {
        $link = "Click to Buy Amazon";
    }
?>

此外,如果您反复使用相同的字段,请尝试将结果放入变量中,然后使用变量。使用get_field,向数据库发送请求并反复使用它可能会降低您的应用程序速度。