我有这个代码。此代码用于显示WordPress中的所有类别。
foreach((get_the_category()) as $category) {
echo $category->cat_name . ', ';
}
但即使只有一个类别显示,它背后的逗号仍然存在。我希望这样:
- 1类别:[类别]
- 2类:[类别] , [类别]
- 同样适用于3个类别:[类别] , [类别] , [类别]
这可能吗?我试过了:
foreach((get_the_category()) as $category) {
$getcount = count(get_the_category());
if($getcount > 1) {
echo $category->cat_name . ', ';
} else {
echo $category->cat_name;
}
}
但这也不是最好的解决方案,当有超过1个类别时,同样的问题也会出现。
非常感谢帮助。
答案 0 :(得分:6)
您可以使用implode()
$categories = array()
foreach((get_the_category()) as $category) {
$categories[] = $category->cat_name;
}
echo implode( ', ', $categories );
答案 1 :(得分:4)
为什么不使用the_category(', ');
?
它还将列出所有职位类别
答案 2 :(得分:2)
您可以使用implode
:
$categories = []
foreach((get_the_category()) as $category) {
$categories[] = $category->cat_name;
}
echo implode(', ', $categories);
或者您可以将implode
与array_map
:
echo implode(', ', array_map(function($category) {
return $category->cat_name;
}, get_the_category()));
答案 3 :(得分:2)
尝试使用此功能。
std::lower_bound
答案 4 :(得分:1)
最简单的方法是在implode
循环中构建array
类别名称后使用foreach
。它只需几行:
<?php
$catNames = array();
foreach( (get_the_category()) as $category) {
$catNames[] = $category->cat_name;
}
echo implode(', ', $catNames);