带参数的短代码

现在我们知道如何创建基本短代码以及如何将其用作自动关闭和封闭,我们将看看如何在短代码中使用参数[$标签]和处理程序函数。

短代码[$tag]可以接受参数,称为属性:

[wporg title=“WordPress.org”]尽情享受WordPress.org的短代码。[/wporg]

短代码处理程序函数可以接受3个参数:

  • 美元atts–array–[$tag]属性
  • $内容–string–短代码中的内容。在上面的例子中,它将是“玩WordPress.org短代码”
  • $标签–string–[$tag]的名称(即短代码的名称)
函数wporg_shortcode($atts=array(),$content=null,$tag=''){}

正在分析属性

对于用户来说,短代码只是帖子内容中带有方括号的字符串。用户不知道哪些属性可用,以及幕后发生了什么。

对于插件开发人员来说,没有办法对属性的使用实施策略。用户可以包含一个属性、两个属性或根本不包含属性。

要控制短代码的使用方式:

完整示例

使用基本的短代码结构完成示例,注意自闭和封闭场景并保护输出。

A类【wporg】接受标题并显示可以使用CSS样式的框的短代码。

/***[wporg]缩写。**接受标题并显示框。**@param array$atts Shortcode属性。默认为空。*@param string$content短代码内容。默认为null。*@param string$tag短代码标记(名称)。默认为空。*@return字符串短代码输出。*/函数wporg_shortcode($atts=[],$content=null,$tag=''){//规范化属性键,小写$atts=array_change_key_case((数组)$atts,case_LOWER);//用用户属性覆盖默认属性$wporg_atts=短代码_atts(阵列(“title”=>“WordPress.org”,),$atts,$tag);//启动盒$o='<div class=“wporg-box”>';//标题$o.='<h2>'。esc_html($wporg_atts[标题])。”</h2>';//封闭标签if(!is_null($content)){//这里的$content保存了您的短代码的开始标记和结束标记之间的所有内容。eg.g[my-shortcode]内容[/my-shorcode]。//根据您的短代码支持的内容,您将以不同的方式解析内容并将其附加到输出中。//在这个例子中,我们只是通过在$content上执行_content过滤器挂钩来保护输出。美元=apply_filters('the_content',$content);}//接线盒$o.='</div>';//回流输出返回$o;}/***创建所有短代码的中心位置。*/函数wporg_shortcodes_init(){add_shortcode('wporg','wpoorg_shortcode');}add_action('init','wporg_shortcodes_init');