我为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
将我的状态添加到上面的数组,我真的很感激任何帮助!
答案 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()
方法中已经决定的任何内容。