我确信我遗漏了一些简单的东西,因为我很少使用短代码,但我似乎无法使用以下短代码。
我希望它是一个“封闭”的短标签,而不是“自动关闭”,但它被视为后者。
[bio_image name="my name" title="my title"]
//image media in post content
[/bio_image]
使用此功能。php代码:
function bio_image_func( $atts, $content = null) {
extract( shortcode_atts( array(
\'name\' => \'employee\',
\'title\' => \'mastermind\',
), $atts ) );
return \'<div class="team_photo"><p class="team_title"><span class="name">\' . $name . \'</span> <span class="title">\' . $title . \'</span></p>\' . $content . \'</div>\';
}
add_shortcode( \'bio_image \', \'bio_image_func\' );
产生:
<div class="team_photo">
<p class="team_title">
<span class="name">my name</span>
<span class="title">my title</span>
</p>
</div>
<img src="my_img_src" ... />
[/bio_image]
正如您所看到的,结束标记刚刚打印出来。有什么建议吗?
供参考:the shortcode codex page
最合适的回答,由SO网友:getWeberForStackExchange 整理而成
删除短代码名称后的空格。
add_shortcode( \'bio_image \', \'bio_image_func\' );
成为
add_shortcode( \'bio_image\', \'bio_image_func\' );
我想WordPress正在为
bio_image[space]
, 这是不存在的。