什么是WordPress封闭短代码?

什么是Wordpress封闭短代码?WordPress 短代码(Shortcode)是用方括号([])包围的简短代码片段,用于在文章、页面或主题文件中插入特定功能或内容。它通过调用回调函数执行相应逻辑,支持自关闭标签、开放标签及带参数的标签等形式。

封闭短代码

使用短代码有两种情况:

  • 短代码是一个自闭合标签,就像我们在基本短代码部分看到的那样。
  • 短代码封闭内容。

封装内容

使用短代码封装内容可以对封装的内容进行操作。

[wporg]content to manipulate[/wporg]

如上所示,为了包含一段内容,您需要做的就是添加一个开始[$tag]和一个结束[/$tag]来封闭,类似于 HTML开始标签和结束标签。

处理附件内容

让我们回到原始的 [wporg] 短代码:

function wporg_shortcode( $atts = array(), $content = null ) {
// do something to $content
// always return
return $content;
}
add_shortcode( 'wporg', 'wporg_shortcode' );

查看回调函数,我们发现我们选择接受两个参数,$atts和$content。$content参数将保存我们封装的内容。我们稍后再讨论$atts。

的默认值$content设置为,因此我们可以使用 PHP 函数is_null()null来区分自闭合标签和封闭标签。

短代码[$tag],包括其内容和结尾将被处理函数的返回值[/$tag]替换。

处理函数有责任确保输出的安全。

短代码感知

短代码解析器对帖子内容执行一次传递。

这意味着,如果$content短代码处理程序的参数包含另一个短代码,它将不会被解析。在本例中,[shortcode]将不会被处理:

[wporg]another [shortcode] is included[/wporg]

do_shortcode()通过调用处理程序函数的最终返回值,可以在其他短代码中使用短代码。

function wporg_shortcode( $atts = array(), $content = null ) {
// do something to $content
// run shortcode parser recursively
$content = do_shortcode( $content );
// always return
return $content;
}
add_shortcode( 'wporg', 'wporg_shortcode' );

限制

短代码解析器无法处理相同的封闭形式和非封闭形式的混合[$tag]。

[wporg] non-enclosed content [wporg]enclosed content[/wporg]

non-enclosed content解析器不会将其视为由文本“ ”分隔的两个短代码,而是将其视为包含“ non-enclosed content [wporg]enclosed content”的单个短代码。

WordPress封闭标签短代码(Closed Shortcode)

WordPress封闭标签短代码是一种通过起始标签[shortcode]和结束标签[/shortcode]包裹内容的结构,允许通过预定义的PHP函数动态生成内容。这种格式广泛用于嵌入复杂元素(如画廊、按钮或自定义HTML模块),无需手动编写代码。封闭短代码是WordPress插件开发基础知识,必须要了解的。

核心结构与功能

封闭标签短代码由三部分组成:

起始标签:[shortcode]

定义短代码的起始位置。

内容:标签之间可放置任意文本、HTML或嵌套短代码。

示例:[custom_button]点击这里[/custom_button]

结束标签:[/shortcode]

标记短代码的结束位置。

当WordPress渲染内容时,会将短代码替换为其关联PHP函数生成的输出。例如,按钮短代码可能将包裹的文本(如“点击这里”)转换为带样式的HTML 标签。

关键特性

内容封装

与自闭合短代码不同,如:

[ gallery ids="1,2,3" ]

注意:以上案例的[  ]中间两边存在空格,以免被解析,所以添加了空格,正确的使用是没有空格,如下:

[]

 

封闭短代码支持动态内容插入。例如:

function custom_button_shortcode($atts, $content) {
    $atts = shortcode_atts(['url' => '#'], $atts);
    return '' . esc_html($content) . '';
}
add_shortcode('custom_button', 'custom_button_shortcode');

用法:

[custom_button url="https://hao-blog.com/"]提交[/custom_button]

输出:

<a class="btn" href="https://hao-blog.com/">提交</a>

嵌套短代码

封闭短代码支持嵌套,实现模块化内容。例如:

[alert type="success"][icon]✓[/icon] 成功![/alert]
[alert]短代码会处理其内容,包括嵌套的[icon]短代码。

参数灵活性
可通过属性自定义行为。例如,画廊短代码可能接受ids和size参数:

[custom_gallery ids="1,2,3" size="thumbnail"]

结论

封闭短代码是WordPress内容定制的核心工具,兼顾简洁性与强大功能。通过标签封装内容和参数,开发者可创建可复用的模块化组件,无需手动编写HTML/CSS/JavaScript。无论是构建按钮、画廊还是复杂布局,封闭短代码均提供了一种结构化的动态内容生成方式。