关于WooCommerce上列出子产品类别的问题

时间:2014-10-03 作者:Suffii

使用以下代码,我可以列出Woocommerce产品类别中的所有顶级类别

$args = array(
    \'number\'     => $number,
    \'orderby\'    => \'title\',
    \'order\'      => \'ASC\',
    \'hide_empty\' => $hide_empty,
    \'parent\' => 0,
    \'include\'    => $ids
);
$product_categories = get_terms( \'product_cat\', $args );
$count = count($product_categories);
if ( $count > 0 ){
    foreach ( $product_categories as $product_category ) {
        echo \'<h4><a href="\' . get_term_link( $product_category ) . \'">\' . $product_category->name . \'</a></h4>\';

    }
}
它们是:

隐形眼镜
设计师眼镜
设计师太阳镜
眼镜镜片

现在我需要列出所有子类别Designer Sunglasses 在另一页中,我试图通过designer-sunglasses slug代替\'product_cat\'get_terms() 但它没有返回任何东西。你能告诉我怎么做,并在单独的页面中列出每个子类别的所有子类别吗?

使现代化

按ID:

$args = array(
    \'number\'     => $number,
    \'orderby\'    => \'title\',
    \'order\'      => \'ASC\',
    \'hide_empty\' => $hide_empty,
    \'parent\' => 1702,
    \'include\'    => $ids
);
$product_categories = get_terms( \'product_cat\', $args );
$count = count($product_categories);
if ( $count > 0 ){
    foreach ( $product_categories as $product_category ) {
        echo \'<h4><a href="\' . get_term_link( $product_category ) . \'">\' . $product_category->name . \'</a></h4>\';

    }
}
按名称:

$args = array(
    \'number\'     => $number,
    \'orderby\'    => \'title\',
    \'order\'      => \'ASC\',
    \'hide_empty\' => $hide_empty,
    \'parent\' => "designer-sunglasses",
    \'include\'    => $ids
);
$product_categories = get_terms( \'product_cat\', $args );
$count = count($product_categories);
if ( $count > 0 ){
    foreach ( $product_categories as $product_category ) {
        echo \'<h4><a href="\' . get_term_link( $product_category ) . \'">\' . $product_category->name . \'</a></h4>\';

    }
}

1 个回复
SO网友:Nicolai Grossherr

让孩子get_terms() 你有两个选择。您可以使用参数parent, 这只会得到直接的子级,所以只会降低一级;或者您使用child_of, 它获取所有子体,这意味着直到最后一级。二者都parentchild_of 需要一个整数作为值,在这两种情况下都是父ID。

基本代码示例:

$taxonomies = array(
    \'product_cat\'
);
$args = array(
    // in case you haven\'t assigned the terms to products
    \'hide_empty\' => 0,
    // replace with the parent ID you need
    \'parent\'     => 10
);
$product_categories = get_terms(
    $taxonomies,
    $args
);

结束

相关推荐

WP_LIST_CATEGORIES和自定义帖子类型

我很困惑。我有一个自定义的帖子类型“资产”</我创建了帖子,它们都在/asset/post-title我为自定义帖子类型分配了类别,例如“模式”类别页面显示每个类别中的帖子数量。如果在单个视图中查看这些帖子的帖子元,它会显示分配给它的类别</然而,如果你点击帖子元(“模式”)中的分类链接,我会看到一个“找不到”的页面。如果我将类别分配给normal 帖子类型,这些将显示在类别页面中。我忘了什么?编辑:我还应该补充,“模式”的链接是/category/patterns