我在function.php中使用php向woocommerce添加了自定义订单状态。
我可以在管理界面上查看/设置此状态,但是我想使用REST API(v2或v3)并更新订单以设置此新状态。
API返回此错误: 错误:处于:状态[rest_invalid_param]
我可以为订单设置预设状态,但不能为新订单设置。我该怎么办?
Wordpress 5.2.2,WooCommerce 3.6.4
function wpblog_wc_register_post_statuses() {
register_post_status( 'wc-invoicing', array(
'label' => 'XXXX',
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'XXXX <span class="count">
(%s)</span>', 'XXXX alatt <span class="count">(%s)</span>' )
));
}
add_filter( 'init', 'wpblog_wc_register_post_statuses' );
function wpblog_wc_add_order_statuses( $order_statuses ) {
$order_statuses['wc-invoicing'] =
_x( 'XXXX alatt', 'Order Status', '' );
return $order_statuses;
}
add_filter( 'wc_order_statuses', 'wpblog_wc_add_order_statuses', 10, 1 );
答案 0 :(得分:0)
不要在自定义订单状态前使用“wc-”。
即在 WooCommerce 中,我创建了一个名为“wc-new-quote”的订单状态。 现在,当我尝试发布时 REST API 给了我一个错误:
$data['status'] = 'wc-new-quote';
正确的做法是:
$data['status'] = 'new-quote';