3 回答
TA貢獻1836條經(jīng)驗 獲得超4個贊
您將使用wc_get_order_statuses()WC_Order 函數(shù)中的專用函數(shù),該函數(shù)默認為您提供以下數(shù)組:
$order_statuses = array(
'wc-pending' => _x( 'Pending payment', 'Order status', 'woocommerce' ),
'wc-processing' => _x( 'Processing', 'Order status', 'woocommerce' ),
'wc-on-hold' => _x( 'On hold', 'Order status', 'woocommerce' ),
'wc-completed' => _x( 'Completed', 'Order status', 'woocommerce' ),
'wc-cancelled' => _x( 'Cancelled', 'Order status', 'woocommerce' ),
'wc-refunded' => _x( 'Refunded', 'Order status', 'woocommerce' ),
'wc-failed' => _x( 'Failed', 'Order status', 'woocommerce' ),
);
所有自定義的附加訂單狀態(tài)也將包括在內(nèi)wc_order_statuses,因為在此函數(shù)中應用了過濾器掛鉤。
TA貢獻1891條經(jīng)驗 獲得超3個贊
wc_get_order_statuses()將僅提供默認的 WooCommerce 狀態(tài),但要獲取所有訂單狀態(tài),您可以使用以下函數(shù)woocommerce_get_all_order_statuses()
function woocommerce_get_all_order_statuses() {
$order_statuses = get_posts( array('post_type'=>'wc_order_status', 'post_status'=>'publish', 'numberposts'=>-1) );
$statuses = array();
foreach ( $order_statuses as $status ) {
$statuses[ $status->post_name ] = $status->post_title;
}
return $statuses;
}
TA貢獻1876條經(jīng)驗 獲得超5個贊
將以下代碼段添加到 functions.php 并在您要使用的地方調用 woocommerce_get_order_statuses()。
function woocommerce_get_order_statuses() {
$order_statuses = get_terms( 'shop_order_status', array( 'hide_empty' => false ) );
$statuses = array();
foreach ( $order_statuses as $status ) {
$statuses[ $status->slug ] = $status->name;
}
return $statuses;
}
- 3 回答
- 0 關注
- 213 瀏覽
添加回答
舉報
