产品的分类、子分类、子分类

时间:2016-01-13 作者:tom

嗨,我需要获得woocommerce中产品的主要分类法和子分类法。我知道如何获取分类的详细信息。123 is product id .

$terms = get_the_terms(123, \'product_cat\');
我也知道如何获得分类名称

 echo $terms[0]->name 
但我需要的是:诺基亚3110是我的手机。所以它在electronics-> mobiles -->ordinary-->Single sim-->nokia 3110

id is 123 .
在管理面板的产品编辑页面中,诺基亚3110位于single sim[实际上single sim位于electronics-> mobiles -->ordinary].但我只勾选了单卡复选框,没有勾选电子产品、手机、普通手机等。

我需要的是这个id,我需要的主要是taxonmy nokia 31110。答案是在电子领域。我还需要第二种分类法,那就是我需要在手机下打印它。如何获取这些详细信息

非常感谢。

我知道如何获得最顶级的分类法

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;
}
但请帮助找到第二大分类法。

1 个回复
最合适的回答,由SO网友:Sladix 整理而成

基于this answer, 以下是我的函数,用于获取数组中的所有术语:

function get_term_ancestors($post_id, $taxonomy){
    // Declare the array where we are going to store the terms
    $ancestors = array();
    // start from the current term
    $parent  = array_shift(get_the_terms($post_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);
        $ancestors[] = $parent;
    }
    return $ancestors;
}
使用方法如下:

$ancestors = get_term_ancestors(123,\'product_cat\');
因此,使用此函数,您的顶级术语将是:

$ancestors[count($ancestors)-1] // or array_pop($ancestors);
你的第二位顶级家长

$ancestors[count($ancestors)-2] // or another array_pop($ancestors)
请注意,在尝试访问isset($祖先[计数($祖先)-2])之前,您应该先检查它

Warning : 这只适用于一个期限内的产品。此函数不处理多个术语

相关推荐

Custom Taxonomy Page

我正在尝试创建一个显示特定类别的所有子类别的页面。所以在上下文中,我有一个标题为“目的地”的父类别。我希望能够点击目的地,并被引导到一个页面,显示子类别或国家的列表。下面是我试图实现的一个示例,减去顶部的地图-https://www.vagabrothers.com/destinations. 在理想情况下,类别页面的布局将与此页面相同。你可以从上面的例子中看出我的意思。它会使网站上的导航像这样:目的地>国家>个人帖子。我正在使用CPT UI,设置了一个名为“目的地”的自定义帖子类型和类别,然