在 WooCommerce 中将自定义订单状态设置为已付款

Setting custom order statuses as paid in WooCommerce

我有一个需要设置为 'paid' 的自定义状态,与处理中和完成的核心状态是 'paid' 状态的意义相同。

我需要这样做,因为 WC 已同步到会计软件,并且同步无法为未付款订单生成销售收据。在使用 Complete 或 Processing 状态时它工作正常,但不适用于我的自定义状态。

我正在使用 Setting custom order statuses as valid for payment 答案代码。

不过,我可以确认,这并未将订单设置为已付款。我几乎认为它无法完成,但我看到 Woocommerce 订单状态管理器可以选择将状态设置为已付款(见下面的屏幕截图)。

希望有人能帮助我!

@Martin 说的。你有这个可用:

apply_filters( 'woocommerce_order_is_paid_statuses', array( 'processing', 'completed' ) );

因此,您可以使用 add_filter() 添加到其中:

add_filter( 'woocommerce_order_is_paid_statuses', 'bbloomer_paid_is_paid_status' );

function bbloomer_paid_is_paid_status( $statuses ) {
   $statuses[] = 'paid';
   return $statuses;
}