我正在使用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?
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();
就是这样。