2017-02-19 1 views
-1

읽기에 감사드립니다. WooCommerce와 관련하여 문제가 있었으므로 아래 청구 필드의 간단한 설명 체크 아웃 페이지를 추가하고 싶습니다.WooCommerce 결제 페이지에 간단한 설명을 추가하는 방법

아래 결제 필드의 WooCommerce 결제 페이지에 간단한 설명을 추가하는 방법은 무엇입니까?

사용자 지정 코드를 추가했지만 오류가 발생했습니다.

add_filter('woocommerce_get_item_data', 'wc_checkout_description_so_27900033', 10, 2); 

function wc_checkout_description_so_27900033($other_data, $cart_item) 
{ 
    $post_data = get_post($cart_item['product_id']); 
    $other_data[] = array('name' => 'description', 'value' => $post_data->post_excerpt); 
    return $other_data; 
} 

이 코드는 내부 제품 정보 테이블을 표시합니다.

enter image description here

+0

이 기능을 사용하려고 할 때 발생한 오류는 무엇입니까? 응답을위한 –

+0

감사합니다! 나는 미안 해요. 영어 실력이 좋지 않아서 나는 한국인입니다. 코드는 내가 원하는 곳에서 보여주지 않습니다. 이 코드는 "

"에만 표시됩니다. 나는 내가 원하는 곳에서 그것을 보여주고 싶다. –

+0

장바구니에 여러 항목이있는 경우 표시 할 제품 설명을 어떻게 결정합니까? – helgatheviking

답변

2

get_post()를 호출 할 진짜 이유가 없습니다. $product 개체는 $cart_item 배열에 저장되고 $post 개체는 $product 내부에 저장됩니다. 이렇게하면 장바구니와 계산대에 제품의 발췌 부분 (간단한 설명)이 표시됩니다. 이제 woocommerce_get_item_data 필터가 나타나는 유일한 장소는 장바구니 클래스에 있기 때문에받은 주문 페이지 또는 내 계정 영역이나 전자 메일 등에 설명이 표시되지 않을 수 있습니다.

WooCommerce 2.7은 WooCommerce의 주요 재 작성이며 $_product->post->post_excerpt은 제품 속성에 직접 액세스하는 것에 대한 PHP 고지문이됩니다. 그래서 저는 2.6과 2.7의 호환성 접근법을 제안했습니다.

add_filter('woocommerce_get_item_data', 'wc_checkout_description_so_27900033', 10, 2); 

function wc_checkout_description_so_27900033($other_data, $cart_item) 
{ 
    $_product = $cart_item['data']; 
    // Use this for WC2.7 
    //$other_data[] = array('name' => 'description', 'value' => $_product->get_short_description()); 

    // Use this for WC2.6 
    $other_data[] = array('name' => 'description', 'value' => $_product->post->post_excerpt); 

    return $other_data; 
} 
+0

응답 해 주셔서 감사합니다. 나는이 코드를 시도 할 것이다 :) 잘 ..이 코드는 내가 원하는 곳을 추가한다? 내 문제는 제품 테이블에 표시되는 코드입니다. –

+1

예,이 코드는 제품 표에 설명을 표시합니다. 귀하의 질문을 편집하여 설명을 표시하려는 * 그림 *을 설명하십시오 (그림이 도움이 될 수 있음). – helgatheviking

+0

설명이 충분하지 않아 죄송합니다. 이제 그림을 추가합니다. –

관련 문제