编辑标题:Woocommerce创建订单状态,不会将订单标记为不可编辑

时间:2014-11-08 18:29:19

标签: wordpress-plugin woocommerce

我已经在我的woocommerce安装中创建了一个新的自定义订单状态"等待运费计算",我的客户有一些非常复杂的产品,必须手动计算发货,然后发送发票。

我按照指南创建了自定义订单状态,但只要订单具有该状态,订单就不再可编辑

我希望我的新自定义状态仍然可以保持订单的可编辑状态。


编辑改变了上面的一些细节,所以整个问题更有意义:

原来我完全采用了错误的方法,在文件abstract-wc-order.php中有一个函数is_editable()

https://github.com/woothemes/woocommerce/blob/master/includes/abstracts/abstract-wc-order.php#L2469

/**
 * Checks if an order can be edited, specifically for use on the Edit Order screen
 *
 * @access public
 * @return bool
 */
public function is_editable() {
    if ( ! isset( $this->editable ) ) {
        $this->editable = in_array( $this->get_status(), array( 'pending', 'on-hold', 'auto-draft' ) );
    }
    return apply_filters( 'wc_order_is_editable', $this->editable, $this );
}

如果我将新的订单状态添加到该数组中,那么整个事情就会按照我想要的方式运行,但是,只要我更新woocommerce,就会覆盖该更改。

我可以在插件代码中添加一些内容,使用过滤器将我的新状态添加到该数组中吗?

我已经阅读了几个小时的过滤器文档,但它似乎没有很好的例子来说明过滤器只存在于类/

0 个答案:

没有答案