// create a styled button function ContactButton($params, $content = null) { extract(shortcode_atts(array( 'url' => '/contact-us', 'type' => 'style1' ), $params)); return '<a href="' . $url . '" >' . ucwords($content) . '</a>'; } add_shortcode('button','ContactButton');当页面或帖子中遇到以下代码时:
[button]contact us today[/button]它将翻译成:
<a href="/contact-us" >Contact Us Today</a>编辑的工作变得更加容易,他们不必担心学习HTML。让我们看另一个创建一个简单的呼叫框的示例:
// callout box function CalloutBox($params, $content = null) { extract(shortcode_atts(array( 'type' => 'style1' ), $params)); return '<aside >' . $content . '</aside>'; } add_shortcode('callout','CalloutBox');但是,如果我们的编辑想在他们的标注框中插入一个按钮怎么办?…
[callout]For more information [button]contact us today[/button][/callout]就目前而言,当前代码将失败。首先调用标注框函数,但内部[按钮]不会相应地翻译。 解决问题的关键功能是do_shortcode() - 它将WordPress的短代码过滤器应用于任何内容。在这种情况下,我们希望允许编辑器在我们的[顾问]中添加一个[按钮],因此我们将相应地修改呼叫箱的返回语句:
return '<aside >' . do_shortcode($content) . '</aside>';上面的嵌套代码现在可以按预期工作。但是,不允许编辑器在[按钮]中嵌套[注释]。像这样的灵活性使WordPress成为一种乐趣 - 现在可以使用3.3版。
>
>我如何调试我的嵌套短代码?
我可以在自身中嵌套相同的快捷代码吗?可以在自身中嵌套相同的短代码,从而创建递归快捷代码。但是,这应该谨慎进行,因为如果无法正确控制,它可能会导致无限循环。
以上是如何在WordPress中创建嵌套短号的详细内容。更多信息请关注PHP中文网其他相关文章!