从woocommerce hook中的订单商品中获取类别ID

时间:2018-06-07 05:52:13

标签: php wordpress woocommerce hook-woocommerce

functions.php我们有:

add_action( 'woocommerce_order_status_processing', 'mysite_processing', 10, 1);

然后在这个函数中我们得到订单商品:

function mysite_processing($order_id) {
    $order = wc_get_order( $order_id );
    $items = $order->get_items();
    foreach ( $items as $item ) {
        $product_id = $item->get_product_id();
    }
}

获取产品ID后,我们希望获得产品所属的类别ID。我们已经尝试了get_the_terms和has_term函数,两者都没有用。

2 个答案:

答案 0 :(得分:1)

已解决,已添加到以下项目中:$ product = wc_get_product($ product_id);

答案 1 :(得分:0)

尝试以下代码

function mysite_processing($order_id) {
    $order = wc_get_order( $order_id );
    $items = $order->get_items();
    foreach ( $items as $item ) {
        $product_id = $item->get_product_id();
        $term_list = wp_get_post_terms($product_id,'product_cat',array('fields'=>'ids'));
        print_r($term_list);
        $cat_id = (int) $term_list[0];
        echo $cat_id;
        die();
    }
}