Woocommerce - 添加另一个自定义状态,这样它将使订单“可编辑”

时间:2016-08-28 16:02:40

标签: wordpress woocommerce add-filter

我为wc状态创建了另一个自定义状态,我希望此状态保留“可编辑”的顺序,因此我在文件abstract-wc-order.php中找到了此代码:

public function is_editable() {
        return apply_filters( 'wc_order_is_editable', in_array( $this->get_status(), array( 'pending', 'on-hold', 'auto-draft', 'failed' ) ), $this );
    }

现在,如果我当前了解,我需要将自定义状态添加到上面的数组中,但我不确定如何执行此操作 - 通过挂钩过滤器wc_order_is_editable将我的状态添加到上面的数组,我真的很感激任何帮助!

1 个答案:

答案 0 :(得分:1)

可能这样的事情会起作用:

function so_39193164_is_editable( $editable, $order ) {
    if( $order->get_status() == 'your-new-status' ){
        $editable = true;
    }
    return $editable;
}
add_filter( 'wc_order_is_editable', 'so_39193164_is_editable', 10, 2 );

如果订单状态为您的新状态,则$editable将为真。如果没有,那将是WooCommerce在is_editable()方法中已经决定的任何内容。