从 Woocommerce 3 中的特定产品类别获取订单项目

Get order items from a specific product categories in Woocommerce 3

我怎样才能在 Woocommerce 中获得特定产品类别的特定订单商品?

我在 Woocommerce 文档中进行了搜索,但没有找到任何内容。

这是我的实际代码:

<?php

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

$order = wc_get_order($order_id);

if ( sizeof( $order->get_items() ) > 0 ) {

    foreach( $order->get_items() as $item ) {

        $_product =$order->get_product_from_item( $item );

        ?>

        <a href="<?php echo $_product->get_permalink() ?>"><?php echo $_product->get_title() ?></a>
        <br>

        <?php 
    }
}
?>

非常感谢任何帮助。

你的代码也有一些错误......在下面的代码中,你将定义你的产品类别,可以是术语 ID、slug 或名称(数组):

<?php
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

// HERE define your product category(ies) in this array (can be term Ids, slugs or names)
$categories = array('clothing')

// Get an instance of the WC_Order Object
$order = wc_get_order($order_id);

if ( sizeof( $order->get_items() ) > 0 ) {
    foreach( $order->get_items() as $item ) {
        // Just for a defined product category
        if( has_term( $categories, 'product_cat', $item->get_product_id() ) ) {
            // Get an instance of the WC_Product Object
            $_product = $item->get_product();
            ?>
            <a href="<?php echo $_product->get_permalink() ?>"><?php echo $item->get_name() ?></a><br>
            <?php
        }
    }
}
?>

已测试并有效。