在 woocommerce 管理列表状态和用户明智中显示订单
Display order in woocommerce admin list status and user wise
在 woocommerce 的管理端订单列表中,我想按状态显示订单。
我的意思是说,如果订单有处理状态,那么该订单应该显示在管理订单列表中,其他订单不应显示在该列表中。查看图片了解更多我需要的细节..enter image description here
我猜你正在寻找这样的东西?
/**
* Limit statuses dropdown for custom user role.
*
* @param array $statuses
* @see wc_get_order_statuses()
*/
add_filter( 'wc_order_statuses', function( $statuses ) {
# Custom user role (registered elsewhere).
$custom_user_role = 'administrator';
# Status(es) of orders to show to custom user role.
$limit_to_order_statuses = array(
'wc-processing' => 1,
'wc-on-hold' => 1,
);
# Make sure we're editing right query.
# If not, then nothing to change ("return early").
if (
!function_exists( 'get_current_screen' )
|| 'shop_order' !== get_current_screen()->post_type
|| 'woocommerce' !== get_current_screen()->parent_base
)
return $statuses;
# Check if user has the specified custom user role.
# If they don't, then nothing to change ("return early").
if ( !in_array( $custom_user_role, wp_get_current_user()->roles ) )
return $statuses;
return array_intersect_key( $statuses, $limit_to_order_statuses );
} );
归功于 https://wordpress.org/support/topic/order-status-visibility-by-role/ (Kingfisher64)
在 woocommerce 的管理端订单列表中,我想按状态显示订单。
我的意思是说,如果订单有处理状态,那么该订单应该显示在管理订单列表中,其他订单不应显示在该列表中。查看图片了解更多我需要的细节..enter image description here
我猜你正在寻找这样的东西?
/**
* Limit statuses dropdown for custom user role.
*
* @param array $statuses
* @see wc_get_order_statuses()
*/
add_filter( 'wc_order_statuses', function( $statuses ) {
# Custom user role (registered elsewhere).
$custom_user_role = 'administrator';
# Status(es) of orders to show to custom user role.
$limit_to_order_statuses = array(
'wc-processing' => 1,
'wc-on-hold' => 1,
);
# Make sure we're editing right query.
# If not, then nothing to change ("return early").
if (
!function_exists( 'get_current_screen' )
|| 'shop_order' !== get_current_screen()->post_type
|| 'woocommerce' !== get_current_screen()->parent_base
)
return $statuses;
# Check if user has the specified custom user role.
# If they don't, then nothing to change ("return early").
if ( !in_array( $custom_user_role, wp_get_current_user()->roles ) )
return $statuses;
return array_intersect_key( $statuses, $limit_to_order_statuses );
} );
归功于 https://wordpress.org/support/topic/order-status-visibility-by-role/ (Kingfisher64)