WordPress将类别父母作为类别数组

如果查看get_category_parents()的文档, 你会发现它返回一个字符串, 其中类别名称由分隔符分隔。现在, 我不知道这是否只是我自己, 但这看起来非常愚蠢。我期望的是一组实际的类别对象。我猜不到所有内容。
【WordPress将类别父母作为类别数组】以我想要的格式获取父类别的最佳方法是什么?
#1试试这个你会得到正确的结果
如果你想获取帖子的父类别, 请尝试此

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

如果你想让父母获得类别ID, 请尝试使用此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

这是返回大多数父类别或自定义分类标准的函数!
#2尝试这样的事情:
$categories = []; $parents = get_category_parents( $cat, false, ', ' ); foreach($parents as $parent){ $categories[] = get_term_by('name', $parent, 'category'); }

未经测试。

    推荐阅读