检查订单是否包含 Woocommerce 3 中的任何退款

Check if an order contains any refund in Woocommerce 3

是否可以通过程序检查订单是否包含任何退款?

如果是这样的话,我想显示特定的文本。到目前为止,我正在检查它是否已取消:

if($order->has_status('cancelled') echo "display text";

但是,如果多件商品的订单中只有一件商品被退款,订单状态不会改变,我不知道该怎么做。

有什么想法吗?

您可以使用WC_Order方法get_refunds(),例如:

if( sizeof( $order->get_refunds() ) > 0 ) {
    printf( 'Order id %s has some refund', $order->get_id() ); 
}

或作为自定义条件函数:

function has_refunds( $order ) {
    return sizeof( $order->get_refunds() ) > 0 ? true : false;
}

用法:

if( has_refunds( $order ) ) {
   // Do something
}

相关回答主题: