如何从当前父类别中获取Woocommerce所有子类别

时间:2019-05-22 05:06:03

标签: php wordpress woocommerce custom-taxonomy taxonomy-terms

当我单击它们时,我希望我在一页上有一些产品类别,那么我应该得到她孩子的类别。而且我希望这项工作应该在一页上完成,但不能超过一页 我该怎么做

2 个答案:

答案 0 :(得分:0)

只需在get_terms查询中添加您的父term_id即可按以下方式获取其所有子项-

struct IdentifierComparator
{
    bool operator()(const Identifier& left, const Identifier& right) const
    {
        return left.getCharPointer().getAddress() < right.getCharPointer().getAddress();
    }
};

typedef std::map<Identifier, String, IdentifierComparator> IdentifierMap;

它将返回所有子项的对象

答案 1 :(得分:0)

您可以从产品类别术语ID中使用WordPress专用功能get_term_children()

$child_terms_ids = get_term_children( $term_id, 'product_cat' );

它返回一组子项ID。


对于产品类别归档页面,您可以使用:

// get the current product category term ID
if ( is_product_category() ) {
    $term_id = (int) get_queried_object_id();
}

if ( term_exists( $term_id, 'product_cat' ) ) {
    $child_terms_ids = get_term_children( $term_id, 'product_cat' );

    // Loop through child terms Ids
    foreach ( $child_terms_ids as $child_term_id ) {
        $child_term = get_term_by( 'term_id', $child_term_id, 'product_cat' );
        // The term name
        $child_name = $child_term->name;
        // The term link
        $child_link = get_term_link( $child_term, 'product_cat' );
    }
}