Wordpress将类别父类作为类别数组

时间:2016-07-12 12:20:02

标签: php wordpress wordpress-theming

如果查看get_category_parents()的文档  你会看到它重新生成一个字符串,其中类别的名称由分隔符分隔。现在,我不知道这是不是我,但这似乎非常愚蠢。我期待的是一系列实际的类别对象。我想不能拥有一切......

以我想要的格式获取父类别的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

$categories = [];
$parents = get_category_parents( $cat, false, ',' );
foreach($parents as $parent){
    $categories[] = get_term_by('name', $parent, 'category');
}

未经测试。

答案 1 :(得分:1)

试试这个,你会得到正确的结果

如果你想获得一个帖子的父类别,那么试试这个

    $parent_cat_array = get_post_ancestors( $post ); //$post is an object or you can pass post id also

如果你想获得带有类别id的父母,那么试试这个......

    // determine the topmost parent of a term
   function get_term_top_most_parent($term_id, $taxonomy) {
      // start from the current term
      $parent = get_term_by('id', $term_id, $taxonomy);
      // climb up the hierarchy until we reach a term with parent = '0'
      while ($parent->parent != '0') {
         $term_id = $parent->parent;

         $parent = get_term_by('id', $term_id, $taxonomy);
      }
      return $parent;
   }

函数放在functions.php

在您的页面,帖子或自定义模板中调用此功能

      $term_parent = get_term_top_most_parent($term_id, $taxonomy);
      // in case of default category then your taxonomy is category

这是返回最多父类别或自定义分类的函数 测试!!!