woocommerce增加订单状态:已经发货

woocommerce商城专区wordpress&woocommerce开发记录WordPress技术博客wp应用技术

woocommerce的订单状态

我们如果使用过woocommerce的订单状态,那么我们会对于woocommerce的订单状态有一个了解。

woocommerce的默认订单状态有这样一些:代付款、正在处理、保留、已完成、已取消、已退款、已取消、失败订单这几种状态。

一般来说,顾客在我们的woocommerce网站上下单之后就是正在处理,付款完成之后显示已完成订单。

如果我们需要像在国内一样发送货物,并显示,已发货的状态等等其他的要求状态,那么我们应该如何增加订单的自定义状态呢?

给woocommerce增加自定义订单状态

以下代码我们以增加一个“已经发货”的状态给woocommerce为例,你可以从代码中看到如何增加一个自定义状态到woocommerce中去。

 

首先我们需要注册一个订单的状态:

function register_already_shipped_order_status() {
register_post_status( 'wc-awaiting-shipment', array(
'label'                     => '已经发货',
'public'                    => true,
'exclude_from_search'       => false,
'show_in_admin_all_list'    => true,
'show_in_admin_status_list' => true,
'label_count'               => _n_noop( 'Awaiting shipment <span class="count">(%s)</span>', '已经发货 <span class="count">(%s)</span>' )
) );
}
add_action( 'init', 'register_already_shipped_order_status' );

 

上图可以看到,我注册了一个状态名称为“已经发货”,现在我们需要将这个状态显示出来:

 

function add_already_shipped_to_order_statuses( $order_statuses ) {
$new_order_statuses = array();
foreach ( $order_statuses as $key => $status ) {
$new_order_statuses[ $key ] = $status;
if ( 'wc-processing' === $key ) {
$new_order_statuses['wc-awaiting-shipment'] = '已经发货';
}
}
return $new_order_statuses;
}
add_filter( 'wc_order_statuses', 'add_already_shipped_to_order_statuses' );

 

在你的主题function.php中增加这两段代码之后保存,进入woocommerce的后台–订单–编辑订单,在订单状态处即可看到我们所增加的状态:

 

woocommerce增加订单状态:已经发货

 

选中这个状态之后,我们在用户的订单列表可以看到此状态已经生效:

woocommerce增加订单状态:已经发货

 

对于增加一个订单状态,只是显示上有所不同,比如上文增加的已经发货状态,我们需要增加一些自定义选项,比如增加物流订单号码给客户查询,或者通过物流aip接口在订单页面显示物流状态等等工作可以后续制作。

增加状态也可以为虚拟物品的下载提醒做好用户体验,你可以增加一个状态“允许下载”,这样用户能够很清晰的看到此状态。

 

 

 

上一篇:

下一篇:

文章评论

您好!请登录

取消回复
  1. 小鬼宁 回复

    批量操作那里也加一个,要怎么写


  2. 小鬼宁 回复

    你好,批量操作那里加一个已经发货,代码怎么写


  3. 吴所畏 回复

    你好,这段代码是加在哪个位置呢?function.php的最后面吗


展开更多