woocommerce 自定义订单状态和 REST API

我在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 );


潇潇雨雨
浏览 264回答 1
1回答

一只斗牛犬

不要在自定义订单状态前使用“wc-”。即在 WooCommerce 中,我创建了一个名为“wc-new-quote”的订单状态。现在,当我尝试发布时 REST API 给了我一个错误:$data['status']&nbsp;=&nbsp;'wc-new-quote';正确的方法是:$data['status']&nbsp;=&nbsp;'new-quote';
打开App,查看更多内容
随时随地看视频慕课网APP