woocommerce_register_shop_order_post_statuses
Register our custom post statuses, used for order status.
Использование
add_filter( 'woocommerce_register_shop_order_post_statuses', 'wp_kama_woocommerce_register_shop_order_post_statuses_filter' );
/**
* Function for `woocommerce_register_shop_order_post_statuses` filter-hook.
*
* @param $array
*
* @return
*/
function wp_kama_woocommerce_register_shop_order_post_statuses_filter( $array ){
// filter...
return $array;
}
- $array
- -
Где вызывается хук
woocommerce_register_shop_order_post_statuses
woocommerce/includes/class-wc-post-types.php 664-731
$order_statuses = apply_filters( 'woocommerce_register_shop_order_post_statuses', array( OrderInternalStatus::PENDING => array( 'label' => _x( 'Pending payment', 'Order status', 'woocommerce' ), 'public' => false, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, /* translators: %s: number of orders */ 'label_count' => _n_noop( 'Pending payment <span class="count">(%s)</span>', 'Pending payment <span class="count">(%s)</span>', 'woocommerce' ), ), OrderInternalStatus::PROCESSING => array( 'label' => _x( 'Processing', 'Order status', 'woocommerce' ), 'public' => false, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, /* translators: %s: number of orders */ 'label_count' => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'woocommerce' ), ), OrderInternalStatus::ON_HOLD => array( 'label' => _x( 'On hold', 'Order status', 'woocommerce' ), 'public' => false, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, /* translators: %s: number of orders */ 'label_count' => _n_noop( 'On hold <span class="count">(%s)</span>', 'On hold <span class="count">(%s)</span>', 'woocommerce' ), ), OrderInternalStatus::COMPLETED => array( 'label' => _x( 'Completed', 'Order status', 'woocommerce' ), 'public' => false, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, /* translators: %s: number of orders */ 'label_count' => _n_noop( 'Completed <span class="count">(%s)</span>', 'Completed <span class="count">(%s)</span>', 'woocommerce' ), ), OrderInternalStatus::CANCELLED => array( 'label' => _x( 'Cancelled', 'Order status', 'woocommerce' ), 'public' => false, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, /* translators: %s: number of orders */ 'label_count' => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'woocommerce' ), ), OrderInternalStatus::REFUNDED => array( 'label' => _x( 'Refunded', 'Order status', 'woocommerce' ), 'public' => false, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, /* translators: %s: number of orders */ 'label_count' => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'woocommerce' ), ), OrderInternalStatus::FAILED => array( 'label' => _x( 'Failed', 'Order status', 'woocommerce' ), 'public' => false, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, /* translators: %s: number of orders */ 'label_count' => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'woocommerce' ), ), ) );
Где используется хук в WooCommerce
woocommerce/src/Blocks/Domain/Services/DraftOrders.php 43
add_filter( 'woocommerce_register_shop_order_post_statuses', [ $this, 'register_draft_order_post_status' ] );