WordPress / Woocommerce:如何通过' id'来获取特定的儿童类别来自父类别ID

时间:2017-02-22 10:44:45

标签: php woocommerce categories

我从Website找到了一个很好的代码(如下所示)。

效果很好但我需要通过“id”获得特定的儿童类别。 例如,如果代码的输出是:

红 蓝色 绿色 黄

如何只获得绿色,因为我需要在

中进行另一个查询以使用它
     'tax_query'=>array('field'=>'id')

这是功能:

    //woocommerce get sub categories from parent id
    function woocommerce_subcats_from_parentcat_by_ID($parent_cat_ID) {
       $args = array(              
           'hierarchical' => 1,
           'show_option_none' => '',
           'hide_empty' => 0,
           'parent' => $parent_cat_ID,
           'taxonomy' => 'product_cat'
        );
        $subcats = get_categories($args); 
        foreach ($subcats as $sc) {  
               $link = get_term_link( $sc->slug, $sc->taxonomy );                               
               echo $sc->name.'</br>';                      
        } 
    }

以下是我必须获取该类别的特定ID的代码:

     foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        global $product;
        $product = $cart_item['data'];

        if ( has_term( 'phone-model', 'product_cat', $product->id ) ) {
            $cat_check = true;

            $term_list = wp_get_post_terms( $product->id,'product_cat',array('fields'=>'ids'));
            $cat_id = (int)$term_list[0];

            $funspecificsub = woocommerce_subcats_from_parentcat_by_ID($cat_id);

            $args = array( 
            'post_type' => 'product', 
            'posts_per_page' => -1, 

            'tax_query'             => array(
                array(
                    'taxonomy'      => 'product_cat',
                    'field'         => 'id', //This is optional, as it defaults to 'term_id'
                    'terms'         => $funspecificsub,
                    'include_children' =>true
                )
            )
            );
            $loop = new WP_Query( $args );
            $i=1;
            while ( $loop->have_posts() ) : $loop->the_post(); 
            global $product; 
            if($product->is_visible()){
            echo '<li style=">';
            echo '<a id="cover_'.$i.'" class=" '.$product->id.'" >';
            echo '<div class="">'.get_site_url().'/?add-to-cart='.$product->id.'</div>';
            echo '<h5>'.get_the_title().'</h5>';


            echo '<h6>'.wc_price($product->get_price_including_tax(1,$product->get_price())).'</h6>';
            echo '</a>';
            echo '</li>';
            }else{}
            $i++;
            endwhile; 
            wp_reset_query(); 

        }
    }

所以我想主要的问题是如何获得&#39; Green&#39;变量$ funspecificsub上面的类别ID。目前它输出所有子类别。我希望能够选择特定的子类别。

0 个答案:

没有答案