注意:感谢HamZa,问题已得到解答,但问题已被锁定。所以我在问题的最后一段代码中引用了答案,以便快速参考。
你好我想在wordpress中做这样的事情:
[my_shortcode 'text1', 'text2', ... 'textn'] or something similar
Desired输出如下所示:
<span class="myclass">text1</span>
<span class="myclass">text2</span>
<span class="myclass">text3</span>
.....
.....
<span class="myclass">textn</span>
对于尽可能多的文本项,短代码中有。他们的安排将是未知的。
有什么想法吗?
编辑: 到目前为止,我知道如何做到这一点
[my_shortcode]text1,text2....[/my_shortcode]
add_shortcode('my_shortcode', 'my_shortcode_function' );
function my_shortcode_function($atts, $content ) {
return '<span class="myclass">'.$content.'</span>';
}
但它将所有文本项目当作其中之一。某处我必须使用阵列,但我不知道如何。如果我不知道文本项的数量,是否可以这样做?
正确答案
add_shortcode('my_shortcode', 'my_shortcode_function' );
function my_shortcode_function($atts, $content) {
$content_array = preg_split('~\s*,\s*~', $content);
$return_array = array();
foreach($content_array as $arr){
$return_array[] = '<span class="myclass">'.$arr.'</span>';
}
return implode($return_array);
}