当编辑器添加wordpress [快捷代码]时
在帖子或页面上,它被插件函数或主题函数中的处理程序函数的返回输出所取代。让我们创建一个简单的例子:
// 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嵌套短号
的常见问题
> WordPress中的嵌套短号是什么?它们允许您将一个快速代码作为属性或另一个快捷代码的内容区域内。当您想在WordPress站点上创建复杂的内容结构或功能而无需编写广泛的HTML或PHP代码时,这可能特别有用。
>如何在WordPress中创建一个嵌套的短代码? >要在WordPress中创建一个嵌套的短代码,首先需要在主题的functions.php文件或自定义插件中定义父和子修复代码。父折叠码应具有可以接受子快点的输出的属性。儿童短代码应返回其输出,而不是直接打印。这样,输出可以传递给父折叠代码。
为什么我的嵌套短代码无法正常工作?
可能有几个原因为什么您的嵌套短代码不起作用。一个常见的原因是,儿童短代码直接打印其输出而不是返回。另一个原因可能是,未正确设置父折叠代码来接受子折叠码的输出。也可能与另一个插件或主题发生冲突。
>
>我可以在短代码属性中使用短代码吗?但是,这需要您的简编函数中的特定设置。父折叠码功能需要在包含嵌套短码的属性上使用do_shortCode函数。
>
>我如何调试我的嵌套短代码?
可以通过检查输出来完成嵌套的短代码每个短代码分别。您还可以使用可用于WordPress的各种调试工具,例如Debug bar插件,它可以提供有关短代码的有用信息。
我可以在自身中嵌套相同的快捷代码吗?可以在自身中嵌套相同的短代码,从而创建递归快捷代码。但是,这应该谨慎进行,因为如果无法正确控制,它可能会导致无限循环。
>
>使用嵌套的短号有限制吗?灵活性,它们还可以使您的代码更加复杂和难以维护。同样重要的是要注意,并非所有的主题或插件都可以支持嵌套的短代码。
我可以使用具有任何WordPress主题的嵌套短代码吗?但是,短代码的具体功能将取决于主题或插件中定义的功能。
>
>我如何设置嵌套的短码的输出?使用CSS进行样式。您可以在短代码输出中添加自定义类,然后在CSS中使用这些类以应用所需的样式。
>我可以在帖子和页面中使用嵌套的短代码吗?在您的帖子和页面中使用嵌套的短代码。您也可以在小部件中使用它们,只要您的主题或插件支持小部件中的短代码。
以上是如何在WordPress中创建嵌套短号的详细内容。更多信息请关注PHP中文网其他相关文章!