我想输出一个分类法,以便如果选择一个元素则显示(例如A),但是如果选择两个元素则显示(例如A&B)但如果选择了更多则添加逗号然后在最后添加&一个(例如A,B和C或A,B,C和D)
这是我到目前为止的代码
$colours = get_the_terms( $post->ID, 'colour' );
if ( $colours ) {
$i = 0;
foreach ( $colours as $colour ) {
if(1==$i) {
echo ' & ';
}
echo $colour->name;
$i++;
}
}
当前这样做(例如,选择1 =红色,然后选择2 =红色和绿色),但是一旦选择了两个以上,它就会这样做(例如,选择3 =红色和绿色Black)。
答案 0 :(得分:3)
使用,
加入除最后一个元素以外的所有元素。在最后一个元素后附加&
:
if (count($colours) > 1) {
$lastColour = array_pop($colours);
echo implode(', ', $colours) . ' & ' . $lastColour;
} else {
echo current($colours);
}