将PHP字符串放在do_shortcode打开和关闭中

时间:2015-01-29 10:05:59

标签: php wordpress

我正在使用会员制网站,我需要限制联系信息。我需要在打开和关闭短代码中插入此内容:

[level-accountant][/level-accountant]

我需要限制的内容是:

<?php $order = array('billing_company', 'billing_address_1', 'billing_address_2', 'billing_city', 'billing_postcode', 'billing_state', 'country');
    $result = array();
    foreach($order as $elem){
    if($user_meta[$elem][0] != "")
    $result[] = $user_meta[$elem][0];
    }
    echo implode(', ', $result);
    ?>

我在这里听到了这个答案: How to put php code inside opening and closing shortcodes

并尝试了这段代码:

<?php echo do_shortcode('[level-accountant]'.$order = array('billing_company', 'billing_address_1', 'billing_address_2', 'billing_city', 'billing_postcode', 'billing_state', 'country');
    $result = array();
    foreach($order as $elem){
    if($user_meta[$elem][0] != "")
    $result[] = $user_meta[$elem][0];
    }
    echo implode(', ', $result);.'[/level-accountant]'); ?>

但是我们无法弄清楚如何将我的内容放入其中。这段代码给了我错误。

1 个答案:

答案 0 :(得分:1)

这应该像

一样简单
$order = array('billing_company', 'billing_address_1', 'billing_address_2', 'billing_city', 'billing_postcode', 'billing_state', 'country');
$result = array();
foreach($order as $elem){
    if($user_meta[$elem][0] != "") {
        $result[] = $user_meta[$elem][0];
    }
}
echo do_shortcode('[level-accountant]'.implode(', ', $result).'[/level-accountant]');

在上面的代码中,我只是将您错误放入do_shortcode()调用的代码部分放在之前,将结果保存在变量中。