【问题标题】:Exclude present term from loop从循环中排除当前术语
【发布时间】:2019-12-10 07:53:15
【问题描述】:
我有 foreach 循环,可以打印来自某个帖子类型的所有类别。
在我的分类页面中,我想打印属于该分类的所有术语,但不打印当前术语。如何使用 for 循环来做到这一点?
$presentTerm = get_queried_object();
$terms = get_terms('success-storiescat');
foreach ($terms as $key => $term && $term != $presentTerm) {
$link = get_term_link($term);
echo '<option value="'.$link.'">'.$term->name.'</option>';
}
【问题讨论】:
标签:
php
wordpress
foreach
【解决方案1】:
您不能只将条件添加到foreach(),您可以在循环内执行...
foreach ($terms as $key => $term) {
if ($term != $presentTerm) {
$link = get_term_link($term);
echo '<option value="'.$link.'">'.$term->name.'</option>';
}
}
【解决方案2】:
放入数组 $presentTerm 并使用 array_diff 进行过滤
$terms= array_diff($value, $exclude);
foreach ($terms as $key => $term) {
$link = get_term_link($term);
echo '<option value="'.$link.'">'.$term->name.'</option>';
}