在短码内执行短码

时间:2013-02-04 作者:Andy Jonathan

我正在使用此插件:http://wordpress.org/extend/plugins/worldcurrency/

短代码语法:

[worldcurrency cur="EUR" value="25"] 
然而,我使用的是高级自定义字段,而自定义字段的短代码并没有在worldcurrency的短代码中执行。

[worldcurrency curr="[acf field="fl_currency"]" value="25"]
这里有什么补救措施吗?

Update<我想我需要使用

add_filter(\'xx\',\'do_shortcode\');
不知怎么的?

3 个回复
SO网友:akTed

我还没试过,但你可以试试pseudo-changing the priority of your shortcode hook.

基本上,您可以在短代码正常运行之前强制执行它。该链接显示了如何分别执行您的短代码,更重要的是,在实现其他短代码之前。

其工作原理是缓存并临时删除所有现有的短代码,执行您的短代码,然后重新建立其他短代码。

SO网友:Greg Turner

我的回答涉及更改世界货币插件的编码
然后按如下方式编写短代码:

[worldcurrency value="25"][acf field="fl_currency"][/worldcurrency]
在货币插件的代码中,自定义字段的值将通过$content 字段
然后只需将curr字段设置为$content 你应该准备好了。

SO网友:Milo

如果您查看源代码中的ACF短代码(api.php), 它只使用API函数get_field 在短代码上field 属性

如果您查看源代码中的世界货币短代码(worldcurrency.php), 它输出一个跨度worldcurrency 类和几个自定义属性,然后通过javascript在用户端进行转换。

你也许可以write your own shortcode 这将两者结合起来,使用世界货币的产出和ACF的get_field 从指定的字段中获取属性。

结束

相关推荐

Get URL from shortcode tag

我正在运行一个wordpress站点,我需要正确的regex语法来从\\u content()中返回的一些短代码中获取URL。当我使用\\u content()时,它将返回如下内容:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam nulla enim, euismod ut pharetra nec, commodo a augue. Etiam sit amet nibh mauris, eu ornare purus. V