1 回答

TA貢獻1875條經驗 獲得超3個贊
我猜你正在尋找這樣的東西?
/**
?* 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 );
} );
- 1 回答
- 0 關注
- 114 瀏覽
添加回答
舉報