2014-10-29 7 views
0

woocommerce로 자체 구축 여행 패키지를 판매하려고합니다. 그래서 방문자는 자신이 선호하는 호텔, 활동 및 교통 수단을 선택하여 장바구니에 추가합니다.Woocommerce - 장바구니 페이지 - 장바구니에서 제품 변경 순서 (여행 패키지)

내가 직면 한 문제는 상품 (여행 상품)이 쇼핑 카트에 추가 된 순서대로 추가된다는 것입니다.

그러나 나는 관리자 또는 손님이 이러한 항목이 장바구니에 나타나는 위치 (순서)를 재 배열 할 수있는 기능이 필요합니다. 어쩌면 AJAX 드래그 앤 드롭 기능이 좋을 수도 있습니다.

이렇게 할 방법이 있습니까?

ps. 카탈로그에서 제품을 주문하는 순서를 변경하는 것을 언급하지 않고 있으며, 이는 플러그인에서 쉽게 사용할 수 있습니다.

제발 좀 도와주세요. 고맙습니다.

답변

0

나는 한때 내 플러그인에서 장바구니의 항목을 다시 주문하는 것을 고려했지만 궁극적으로 나에게 그만한 가치가 없다고 결정했습니다. 그것은 정확히 질문에 맞지 않는

add_action('woocommerce_cart_loaded_from_session', 'so_26640996_reorder_cart_keys'); 

/** 
* Re-order the cart keys to keep container/bundled items from being separated in case of force-sells 
* @param object $cart - the WC_Cart class 
* @return void 
*/ 
function so_26640996_reorder_cart_keys($cart){ 

    if($cart->cart_contents) { 

     $new = array(); 

     $contents = $cart->cart_contents; 

     // loop through the cart's contents 
     foreach($cart->cart_contents as $cart_key => $cart_item){ 

      // add the item back into a new array of cart contents 
      $new[$cart_key]=$cart_item; 

      // if the cart item meets some condition re-arrange its position 
      if(isset($cart_item['mnm_contents']) && is_array($cart_item['mnm_contents'])){ 
       foreach($cart_item['mnm_contents'] as $key){ 
        if(isset($contents[$key])){ 
         $new[$key] = $contents[$key]; 
         unset($contents[$key]); 
        } 
       } 
      } 

     } 

     $cart->cart_contents = $new; 

    } 

} 

(또한 매우 늦다)하지만 어쩌면 그것은 같은 질문을 가진 사람을 도움이 될 것입니다 : 여기 내가 사용하는 것이 무슨 일이 있었는지입니다.

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 이 코드를 장바구니 페이지에 붙여 넣으시겠습니까? – somike

+0

아니요, 이상적으로 새 플러그인을 만듭니다. 또는 최악의 경우, 테마의'functions.php'에서 시도해보십시오. 기억하십시오, 이것은 단지 예일 뿐이며 아마도 여러분이 묻고있는 것을 정확하게하지 못할 것입니다. – helgatheviking

관련 문제