由于最近给企业做顾问的时候,客户的woocommerce商城上产品的销售分为常规产品和批发产品,且两类产品使用了不同的购物车(视觉上的不同而已),且分开结算,为了方便客户在后台对不同类型订单的管理,建议他们把订单拉出来作为单独的菜单显示,同时为订单创建自定义分类法,然后将常规产品的订单和批发产品的订单保存到不同的分类中,一下是示例代码,希望能给有相同需求的用户一些参考:
//移除原始订单菜单
add_action( 'admin_menu','remove_wc_order_menu',99 );
function remove_wc_order_menu() {
remove_submenu_page( 'woocommerce','edit.PHP?post_type=shop_order' );
}
function modify_book_post_type_args( $args,$post_type ) {
if ( 'shop_order' === $post_type ) {
$args['show_in_menu'] = true;
$args['menu_icon'] = 'dashicons-cart';
$args['menu_position'] = 57;
}
return $args;
}
add_filter( 'register_post_type_args','modify_book_post_type_args',999,2 );
//为订单创建分类法
add_action('init','mx_product_order_taxonomy',0);
function mx_product_order_taxonomy() {
register_taxonomy(
'order-cat',
'shop_order',
array(
'hierarchical' => true,
'label' => '订单分类',
'query_var' => true,
'rewrite' => array( 'slug' => 'order-cat' ),
)
);
}