2016-08-05 6 views
3

내가 작업하고있는 사이트에서 woocommerce를 사용하고 있으므로 체크 아웃 페이지 상단에 현재 제품 축소판 그림을 표시하고 싶습니다. 자신이 사려고하는 것을 한번보세요.체크 아웃시 WooCommerce 페이지에서 상품 이미지를 표시합니다.

그러나 나는 그렇게 할 방법을 찾을 수 없습니다.

제가 가장 가까운 것은 WC::cart->get_cart()입니다.하지만이 제품은 모든 제품 목록을 출력합니다.

어떻게하면됩니까?

감사합니다.

+0

에 오신 것을 환영합니다는 질문에 대한 컨텍스트를 제공하기 위해 더 많은 코드를 기입하십시오. – FishStix

+0

Stackoverflow에 오신 것을 환영합니다. 계산 페이지에는 장바구니에있는 제품 만 있습니다. 질문을 지우십시오. –

+0

@LoicTheAztec 맞습니다. 지난 2 일 조금 바빴습니다. 귀하의 솔루션이 작동하고 나는 그 대답을 받아 들였습니다. – Avishay28

답변

8

네, 맞춤 함수를 작성할 수 있습니다.

add_action('woocommerce_before_checkout_form', 'displays_cart_products_feature_image'); 
function displays_cart_products_feature_image() { 
    foreach (WC()->cart->get_cart() as $cart_item) { 
     $product = $cart_item['data']; 
     if(!empty($product)){ 
      // $image = wp_get_attachment_image_src(get_post_thumbnail_id($product->ID), 'single-post-thumbnail'); 
      echo $product->get_image(); 

      // to display only the first product image uncomment the line bellow 
      // break; 
     } 
    } 
} 

이 코드는 function.php의 활성 자식 테마의 파일이나 테마

을에 간다 :

사용, 당신의 헤더의 테마 후이 코드를 체크 아웃 페이지의 시작 부분에 해당 이미지를 표시하려면

get_image() 기능에서 몇 가지 옵션을 추가하여 이미지 속성을 변경할 수 있습니다.

이 코드는 테스트


기타 USAGES를 완벽하게 작동합니다 - 당신은 또한 사용할 수 있습니다 :

1) 다음 다른 체크 아웃으로 WooCommerce에게 후크을 (스 니펫 코드의 첫 번째 줄을이 중 하나와 바꾸십시오.) :

• 전 고객 상세 정보 :

add_action('woocommerce_checkout_before_customer_details', 'displays_cart_products_feature_image'); 

고객 상세 후 • :

add_action('woocommerce_checkout_after_customer_details', 'displays_cart_products_feature_image'); 

• 주문 검토하기 전에 :

add_action('woocommerce_checkout_before_order_review', 'displays_cart_products_feature_image'); 

2) 직접 woocommerce templates(이 코드 조각 내부 기능을 계속합니다.활성 자식 테마 또는 테마 PHP 파일) : <?php displays_cart_products_feature_image(); ?>

  • PHP 코드 내부 : HTML 코드 내부

    • :

      function displays_cart_products_feature_image() { 
          foreach (WC()->cart->get_cart() as $cart_item) { 
           $product = $cart_item['data']; 
           if(!empty($product)){ 
            // $image = wp_get_attachment_image_src(get_post_thumbnail_id($product->ID), 'single-post-thumbnail'); 
            echo $product->get_image(); 
      
            // to display only the first product image uncomment the line bellow 
            // break; 
           } 
          } 
      } 
      

      그럼 그냥 template file 안에이 중 하나를 붙여 넣습니다 : displays_cart_products_feature_image();

    참조 :

  • +0

    첫 번째 해결 방법은 매력처럼 작동합니다, 감사합니다! – Avishay28

    +0

    '$ cart_item [ 'data']'이미'WC_Product' 객체를 가지고 있으므로, 다시 인스턴스화 할 필요가 없습니다. – rram

    +0

    @rram 예, 맞습니다. 고맙습니다 ... 코드를 업데이트했습니다. * (이전 버전이었습니다) * – LoicTheAztec

    관련 문제