在WordPress中,使用 add_shortcode()
函数创建自定义短代码是一个简单的过程。以下是创建自定义短代码的步骤:
-
定义短代码处理函数:首先,你需要定义一个PHP函数,这个函数将处理短代码的内容和属性。
-
注册短代码:然后,使用
add_shortcode()
函数将短代码标签与你的处理函数关联起来。
以下是一个示例,展示了如何创建一个名为 [myshortcode]
的自定义短代码,它接受一个可选的 text
属性:
// 定义处理短代码的函数
function my_shortcode_handler($atts, $content = null) {
// 设置默认属性
$atts = shortcode_atts(
array(
'text' => '默认文本', // 如果没有提供'text'属性,则使用'默认文本'
),
$atts
);
// 返回处理后的内容
return "<strong>{$atts['text']}</strong>";
}
// 注册短代码
add_shortcode('myshortcode', 'my_shortcode_handler');
在上面的代码中:
my_shortcode_handler
是处理短代码的函数。$atts
是一个数组,包含了传递给短代码的所有属性。$content
是短代码之间的内容(如果有的话)。shortcode_atts()
函数用于设置默认属性,并确保所有属性都已定义。
将上述代码添加到你的主题的 functions.php
文件中,或者创建一个插件来包含这段代码。之后,你就可以在WordPress的文章、页面或小工具中使用 [myshortcode text="你好,世界!"]
这样的短代码,它将输出 <strong>你好,世界!</strong>
。
如果你想要在短代码中包含传递给它的内容,可以这样修改处理函数:
function my_shortcode_handler($atts, $content = null) {
// 设置默认属性
$atts = shortcode_atts(
array(
'text' => '默认文本',
),
$atts
);
// 如果传递了内容,则包裹在标签中
if ($content) {
$content = "<em>{$content}</em>";
}
// 返回处理后的内容
return "<strong>{$atts['text']}</strong> {$content}";
}
现在,如果你使用 [myshortcode text="这是标题:"]这是内容[/myshortcode]
,它将输出 <strong>这是标题:</strong> <em>这是内容</em>
。