我需要使用此脚本
限制wordpress上单个帖子中显示的类别数量 function swift_list_cats($num){
$temp=get_the_category();
$count=count($temp);// Getting the total number of categories the post is filed in.
for($i=0;$i<$num&&$i<$count;$i++){
//Formatting our output.
$cat_string.='<a href="'.get_category_link( $temp[$i]->cat_ID ).'">'.$temp[$i]->cat_name.'</a>';
if($i!=$num-1&&$i+1<$count)
//Adding a ',' if it’s not the last category.
//You can add your own separator here.
$cat_string.=' | ';
}
echo $cat_string;
}
但我还需要隐藏一些类别。我该怎么做?
答案 0 :(得分:0)
简单的答案是返回一个不基于数组长度的新计数,所以
for($i=0;$i<$num&&$i<$count;$i++){
<强>变为:强>
for($i=0;$i<10;$i++){
或使用 $temp = array_slice(get_the_category(), //ofset 0, //length 10);
Array slice信息可以在这里看到。
如果你需要隐藏一些值,通过向数据库中添加一个隐藏列并选择值WHERE hidden = 0可以更容易。但是要解决你的问题。你需要知道要隐藏哪些值。将它们存储在一个数组中并执行以下操作。
function swift_list_cats($num){
$hiddenArray = [12, 105];
//change offset and limit to what you desire removing the slashes and labels
$temp = array_slice(get_the_category(), 0, 10);
$count=count($temp);
$cat_string = '';
for($i=0;$i<$num&&$i<$count;$i++){
if(in_array($temp[i]->cat_ID, $hiddenArray)){
continue;
}
$cat_string.='<a href="'.get_category_link( $temp[$i]->cat_ID ).'">'.$temp[$i]->cat_name.'</a>';
if($i!=$num-1&&$i+1<$count)
$cat_string.=' | ';
}
echo $cat_string;
}
$ hiddenArray是您使用要隐藏的类别ID填充的数组