Hierarchy Wordpress-按层次结构获取帖子的分类

Hierarchy Wordpress-按层次结构获取帖子的分类,hierarchy,custom-post-type,taxonomy,custom-taxonomy,Hierarchy,Custom Post Type,Taxonomy,Custom Taxonomy,我想得到一篇文章(在一个循环中)的所有分类法,层次结构。例如,我有这些分类法,并且税的ID在括号中 Tax1(1) -Tax2(3) --Tax3(2) 我想把它们收集起来,也许是一个阵列,按照这个顺序。现在我设法得到了这3个元素的数组,但顺序不对。我不能按id订购,因为一开始没有订购id。我也不能按名字和鼻涕虫来点。(我当前分类法的名称不是Tax1、Tax2…) 我现在掌握的密码是 $args = array('orderby' => 'term_order', 'order' =&g

我想得到一篇文章(在一个循环中)的所有分类法,层次结构。例如,我有这些分类法,并且税的ID在括号中

Tax1(1)
-Tax2(3)
--Tax3(2)
我想把它们收集起来,也许是一个阵列,按照这个顺序。现在我设法得到了这3个元素的数组,但顺序不对。我不能按id订购,因为一开始没有订购id。我也不能按名字和鼻涕虫来点。(我当前分类法的名称不是Tax1、Tax2…)

我现在掌握的密码是

$args = array('orderby' => 'term_order', 'order' => 'ASC', 'fields' => 'all');
$productcategories = wp_get_object_terms($post->ID, 'guide_type', $args);
使用“Wordpress”类创建分类的层次结构

<?php
class Walker_Quickstart extends Walker {

    // Tell Walker where to inherit it's parent and id values
    var $db_fields = array(
        'parent' => 'parent', 
        'id'     => 'term_id' 
    );

    /**
     * At the start of each element, output a <p> tag structure.
     */
    function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
        $output .= sprintf( "\n<p>%s %s (%s)</p>\n",
            str_repeat('&dash;', $depth),
            $item->name,
            $item->term_id            
        );
    }

}?>

我正要用我做的这个函数得到一些东西,但是Vikash Kumar给了我一个更好的答案,谢谢

function get_term_top_most_parent($post_id, $taxonomy){
    $return = array();
    $registeredcat = 0;
    $newparent = '';


    $catcount = 0;
    $firstlevels = wp_get_object_terms( $post_id, $taxonomy); //post id, taxo, args
    foreach ($firstlevels as $key => $value){
        if($value->parent == 0 ){
            //$firstlevel = $value->term_id; //23
            $newparent = $value->term_id;
            array_push($return, $value);
            $registeredcat += 1;
        }
        $catcount += 1;
    }
return $return;
}

哇,这是一个很好的答案,我已经坚持了5个小时了。我正要设法完成一些事情,但我认为你的答案更好。如果你想看一看,我也会把我的答案贴出来。坦克大副!这是一个很好的答案。工作得很有魅力。
function get_term_top_most_parent($post_id, $taxonomy){
    $return = array();
    $registeredcat = 0;
    $newparent = '';


    $catcount = 0;
    $firstlevels = wp_get_object_terms( $post_id, $taxonomy); //post id, taxo, args
    foreach ($firstlevels as $key => $value){
        if($value->parent == 0 ){
            //$firstlevel = $value->term_id; //23
            $newparent = $value->term_id;
            array_push($return, $value);
            $registeredcat += 1;
        }
        $catcount += 1;
    }
return $return;
}