在Visual Composer原始HTML中添加快捷代码

时间:2015-02-07 作者:bhttoan

我正在使用Visual Composer,并已将HTML输入到自定义定价表的原始HTML元素中-我现在希望能够使用世界货币插件显示不同货币的价格。

世界货币的短代码为:

[worldcurrency curr="EUR" value="25"]
当我将其输入到原始HTML中时,它会显示为如上所述的文本。

如果我使用以下方式输入:

<?php echo do_shortcode(\'[worldcurrency curr="EUR" value="25"]\'); ?>
没有显示任何内容,检查源代码后,整个echo将在HTML中注释掉。

我还尝试将HTML输入到文本块中,但工具提示之类的东西不再正常工作,当作为文本而不是视觉输入时,我将完全失去编辑文本的能力。

有没有一种方法可以在原始HTML中使用短代码,或者在Visual Composer中使用另一个元素来使用短代码和HTML?

1 个回复
SO网友:kaiser

当你看到do_shortcode() 实际上是这样的:

do_shortcode( $content )
在哪里$content 定义如下:

(string) 要搜索短代码的内容

你想做的是echo 短代码的作用,导致错误的假设。没有神奇的功能可以发现您的短代码。短代码只是一个回调(函数或方法),附加到某个字符串,可以将其放在全文内容的方括号之间。当在livecycle/runtime期间读取并找到内容时,将在其所在位置执行附加的回调。与操作和过滤器的情况大致相同。所以

 add_shortcode( \'bartag\', \'bartag_func\' );
允许这样做

 [bartag foo="bar"]
在哪里bartag_func 是回调。例如:

function bartag_func( $atts )
{
    $args = shortcode_atts( array(
        \'foo\' => \'no foo\',
        \'baz\' => \'default baz\',
    ), $atts );
    return "foo = {$args[\'foo\']}";
}
您正在(或应该)搜索的是添加短代码的位置add_shortcode(). 然后只需找到回调(例如bartag_func()) 并执行或响应它

echo bartag_func();
就是这样。

结束

相关推荐

Remove echo from shortcode

我刚刚开始使用短代码,由于缺乏php知识,我无法想出如何在不使用php echo的情况下使用此短代码。有人能帮我修改代码吗?// SPONSORS Shorcode function sponsors_shortcode($atts) { extract(shortcode_atts(array( \"name\" => \"sponsors\", ), $atts)); $args = array( \"