【问题标题】: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>';
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-21
        • 2014-02-18
        • 1970-01-01
        • 1970-01-01
        • 2016-02-28
        • 1970-01-01
        • 2021-08-05
        • 1970-01-01
        相关资源
        最近更新 更多