source

WooCommerce에서 모든 주문 상태의 민달팽이와 이름을 얻는 방법은?

lovecheck 2023. 10. 14. 10:21
반응형

WooCommerce에서 모든 주문 상태의 민달팽이와 이름을 얻는 방법은?

나는 모든 민달팽이와 모든 우커머스 주문 상태의 이름을 알고 싶습니다.다음 스레드에서 답변을 시도했습니다.우커머스는 주문상태 목록을 가져오지만 성공하지 못했습니다.

저는 최신 우커머스 버전을 사용합니다.어떤 도움이든 감사히 받겠습니다.

WC_Order 기능에서 전용 기능을 사용하게 되며, 기본적으로 다음 배열을 제공합니다.

$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' ),
);

모든 사용자 정의 추가 주문 상태도 필터 후크로 포함됩니다.wc_order_statuses는 이 기능 내부에 적용됩니다.

함수에 아래 토막글을 추가합니다.php와 woocmerce_get_order_states ()님이 사용하실 곳으로 전화하시면 됩니다.

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;
    }

wc_get_order_states()는 기본 WoCommerce 상태만 제공하지만 모든 주문 상태를 얻으려면 다음 wocommerce_get_all_order_states() 기능을 사용할 수 있습니다.

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;
}

언급URL : https://stackoverflow.com/questions/59863954/how-to-get-slugs-and-names-of-all-order-statuses-in-woocommerce

반응형