在短代码中添加php

时间:2012-12-22 21:57:32

标签: php wordpress variables custom-fields shortcode

我正在尝试做的是在我的wordpress侧边栏添加条形码。用于生成条形码的插件称为Yeblon

Yeblon Plugin Page

插件使用的短代码是

[yeblonqrcode size="100" url="" class="" style=""]

是url是生成的条形码导致的地方

我要生成的网址是从自定义字段中插入的。我使用了一个名为Advanced Custom Fields的插件。

Advanced Custom Fields Plugin Page

显示链接的代码是

<?php the_field("download_(android)" , $post->ID); ?>

所以我的最终代码是

        <div id="mobile-barcodes-tabs">
        <?php $post = $wp_query->post; ?>
        <?php
        if(get_field('download_(android)')){ ?>
            <?php echo do_shortcode('[yeblonqrcode size="100" url="the_field("download_(android)" , $post->ID);" class="" style=""] ');?>
        <?php }
        ?>
    </div>

但它不起作用我不知道是什么问题如果你提前感谢我会很高兴

1 个答案:

答案 0 :(得分:4)

预先构建PHP值并使用字符串连接:

<div id="mobile-barcodes-tabs">
    <?php 
    $post = $wp_query->post;   
    $the_url = get_field( 'download_(android)' , $post->ID );   
    if( $the_url ) {            
        echo do_shortcode( '[yeblonqrcode size="100" url="' . $the_url . '" class="" style=""]' );
     }
    ?>
</div>

PS:您可能已经注意到我删除了所有不必要的打开和关闭PHP标记。