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