首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >短代码:关闭未处理的短代码

短代码:关闭未处理的短代码
EN

WordPress Development用户
提问于 2013-01-31 15:32:00
回答 2查看 6.6K关注 0票数 0

我已经成功地在模板中使用了短代码,除了需要结束标记来包装其他代码或内容的时候。

问题是,结束标签,如/shortcode,没有处理,只是打印为纯文本屏幕。

我漏掉了什么明显的东西吗?

谢谢!

奥斯丁

EN

回答 2

WordPress Development用户

发布于 2013-03-04 00:03:33

原因

代码语言:javascript
复制
echo do_shortcode("[/expand]");

不能工作是因为/expand本身不是一个有效的短代码。因此,扩展和/expand的结合是有效的

代码语言:javascript
复制
echo do_shortcode("[expand] some content [/expand]");

应该能按预期工作。如果你想用这种方式来设置东西

代码语言:javascript
复制
<?php echo do_shortcode("[expand]"); ?>
content
<?php echo do_shortcode("[/expand]"); ?>

你必须重新设计你的短代码来做这样的事情

代码语言:javascript
复制
<?php echo do_shortcode("[expand]"); ?>
content
<?php echo do_shortcode("[expandclose]"); ?>

并使用单独的短代码关闭内容。

短代码在短代码API中解释得很好。

票数 3
EN

WordPress Development用户

发布于 2013-03-03 23:30:45

嘿,我找到了一个我认为可行的解决办法:

我之前所做的可能就像你们一样。结构就像我在WordPress编辑器中一样,如下所示

代码语言:javascript
复制
[tabs][image][/image][image][/image][/tabs]

在第一次尝试的模板中,如下所示:

代码语言:javascript
复制
<?php echo do_shortcode('[tabs]');
echo do_shortcode('[image]'. code for generating image .'[/imagetab]');
echo do_shortcode('[image]'. code for generating image .'[/imagetab]');
echo do_shortcode('[/tabs]'); ?>

这是有效的,除了关闭的短代码将只是显示为文本,而不是关闭其余的一切。似乎对我有效的解决方法是执行与我在图像部分中所做的相同的事情,只在一行中执行整个操作,如下所示

代码语言:javascript
复制
<?php echo do_shortcode('[tabs]'.'[image]'. code for generating image .'[/imagetab]'.'[image]'. code for generating image .'[/imagetab]'.'[/tabs]'); ?>

我对这一切还是很熟悉的,所以可能有更好的方法来做到这一点。但它似乎对我有用。我希望这对某人有帮助,如果有人找到更好的方法,一定要让我知道!

票数 1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/83947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档