PHP和短代码组合

时间:2016-11-12 23:00:19

标签: php wordpress shortcode

在我的网站上,我想在自定义字段周围显示社交储物柜wordpress插件。

<?php echo do_shortcode('[sociallocker]'.$to_lock.'[/sociallocker]');?>

这是我的自定义字段

<?php the_field('link'); ?>

社交储物柜需要一个开放和关闭的短代码:

[sociallocker id="16619"]
[/sociallocker]

以下内容无效:

<?php echo do_shortcode('[sociallocker id="16619"]'); ?>
<?php the_field('link'); ?>
<?php echo do_shortcode('[/sociallocker]'); ?>

1 个答案:

答案 0 :(得分:1)

函数do_shortcode接受单个短代码,您无法单独传递部分短代码(开放标记,内容,结束标记)。

如果有开启和关闭短代码,您应该像下面这样调用它。

<?php echo do_shortcode( '[s_tag]' . $content . '[/s_tag]' ); ?>

因此,您已将以下行更新为

<?php echo do_shortcode('[sociallocker id="16619"]'); ?>
<?php the_field('link'); ?>
<?php echo do_shortcode('[/sociallocker]'); ?>

只需拨打一次do_shortcode

<?php echo do_shortcode('[sociallocker id="16619"]' . get_field('link') . '[/sociallocker]'); ?>

参考:https://developer.wordpress.org/reference/functions/do_shortcode/