为foreach错误提供的参数无效

时间:2016-10-21 10:14:57

标签: php wordpress foreach

对我来说,处理可以是数组或空变量的数据以及向这些数据提供foreach时,我发生了很多事情。

// TV shows categories
$tvcats = get_the_terms($post->ID, 'tvshows_cat');
foreach($tvcats as $tvcat) $tvcats_arr[] = $tvcat->name;
if (count($tvcats_arr) > 1) $tvcats_str = $tvcats_arr[0] . '<br />' .  $tvcats_arr[1]; // return first 2 terms
elseif (count($tvcats_arr) == 1) $tvcats_str = $tvcats_arr[0]; // return one term
else $tvcats_str = '';

if (!empty($tvcats_str)){   
echo $tvcats_str;   
} 

tvshows_cat是一个自定义分类法,它的工作方式与类别类似,(我的意思是它是第二类别列表)。

在这段代码中我想将术语限制为2.并且它有效但我得到了错误。

那我怎么解决这个问题呢?

1 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情:

$tvcats = get_the_terms($post->ID, 'tvshows_cat');
if (isset($tvcats) && !is_wp_error($tvcats)) {
    foreach($tvcats as $tvcat) {
       $tvcats_arr[] = $tvcat->name;
       if (count($tvcats_arr) > 1) $tvcats_str = $tvcats_arr[0] . '<br />' . $tvcats_arr[1]; // return first 2 terms
       elseif (count($tvcats_arr) == 1) 
           $tvcats_str = $tvcats_arr[0]; // return one term
       else 
           $tvcats_str = '';
    }
}