우리는 "키트"로 정의되는 다양한 제품을 보유하고 있습니다. 다른 제품들로 구성된 제품 목록입니다. 제품군을 정의하는 데이터는 메타데이터 배열에 저장됩니다. 제품 페이지와 장바구니에 메타데이터를 표시하는 후크를 만들었습니다. "주문 완료 이메일" 및 "주문 페이지 관리"에서 비슷한 작업을 수행해야 하는데 어떻게 해야 할지 모르겠습니다. 이것은 내가 만든 후크입니다.
add_filter( 'bis_show_kit_meta', 'bis_show_kit_meta_contents', 10, 3 ); 함수 bis_show_kit_meta_contents($productID) { 글로벌 $wpdb; $postMeta = get_post_meta($productID,'',true); if ((isset($postMeta['bis_kit_id'])) 및 ($postMeta['bis_kit_id'][0] > 1)) { echo '다음 항목이 포함된 키트입니다:
'; echo $postMeta['bis_kit_type'][0].'
'; foreach($postMeta를 $kititem으로) { foreach ($kititem을 $value로) { $newvalue = unserialize($value); if ($newvalue) { $newvalue2 = unserialize($newvalue); if($newvalue2['type']=="키아이템"){ echo '
' .$newvalue2['수량'] ' -> ' .chr(9) ''; } } } } } } 현재 기능은 이미 내 하위 테마의 해당 템플릿에 연결되어 있습니다.
customer-completed-email.php
파일에 유사한 기능을 적용하는 방법이나 관리자 편집 주문 페이지의 어디에 연결해야 하는지 모르겠습니다. 다른 게시물에서 제가 해야 할 작업과 유사해 보이는 일부 코드를 찾았지만 관리 명령에 대한 수정 사항이 어느 파일에 있는지 알 수 없습니다. 내가 찾은 코드는 다음과 같습니다.
add_action('woocommerce_before_order_itemmeta','woocommerce_before_order_itemmeta',10,3); 함수 woocommerce_before_order_itemmeta($item_id, $item, $product){ ... }
어떤 조언이라도 대단히 감사하겠습니다.
WooCommerce에는 이미 자체 템플릿을 추가하는 대신 WooCommerce 템플릿에서 사용할 수 있는 다양한 후크가 있습니다...
좋은 개발 규칙은 기존 후크를 먼저 사용하는 것입니다. 편리하거나 사용 가능한 후크가 없는 경우 하위 테마를 통해 WooCommerce 템플릿을 재정의할 수 있습니다. 왜? 템플릿은 가끔 업데이트되기 때문에 편집된 템플릿을 업데이트해야 하지만 후크는 그렇지 않습니다.
"고객 주문 완료" 알림의 경우 다음과 같이
으아악woocommerce_order_item_meta_end
액션 후크를 사용하세요.이렇게 하면 "고객 완료 주문" 알림에만 사용자 정의 메타데이터를 표시할 수 있습니다.
또는 동일한 함수 변수 인수를 사용하여 후크를 하나의
woocommerce_order_item_meta_start
로 바꿀 수 있습니다.차일드 테마의 function.php 파일이나 플러그인에 코드를 배치하세요.