반응형
관리자 편집 순서로 표시되는 값을 WooCommerce 체크아웃에 사용자 지정 확인란 추가
추가하려고 합니다.<input type="checkbox">
어떤 값이 우커머스 백엔드에도 나타나는지, 그래서 나는 마지막에 고객이 박스를 체크했는지 아닌지 알 수 있습니다.
확인란은 결제 방법 아래에 있어야 합니다.
관리자 편집 순서에 어떤 값이 나타나는지 우커머스 체크아웃에서 커스텀 체크박스를 추가할 수 있나요?
3단계로 수행할 수 있습니다.
- 결제 방법 아래에 사용자 지정 확인란 필드 추가
- 주문 메타에서 선택한 사용자 지정 확인란 필드 저장
- 주문 편집 페이지에서 선택한 사용자 정의 확인란 필드 표시
코드는 다음과 같습니다.
// Add custom checkout field: woocommerce_review_order_before_submit
add_action( 'woocommerce_review_order_before_submit', 'my_custom_checkout_field' );
function my_custom_checkout_field() {
echo '<div id="my_custom_checkout_field">';
woocommerce_form_field( 'my_field_name', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('My custom checkbox'),
), WC()->checkout->get_value( 'my_field_name' ) );
echo '</div>';
}
// Save the custom checkout field in the order meta, when checkbox has been checked
add_action( 'woocommerce_checkout_update_order_meta', 'custom_checkout_field_update_order_meta', 10, 1 );
function custom_checkout_field_update_order_meta( $order_id ) {
if ( ! empty( $_POST['my_field_name'] ) )
update_post_meta( $order_id, 'my_field_name', $_POST['my_field_name'] );
}
// Display the custom field result on the order edit page (backend) when checkbox has been checked
add_action( 'woocommerce_admin_order_data_after_billing_address', 'display_custom_field_on_order_edit_pages', 10, 1 );
function display_custom_field_on_order_edit_pages( $order ){
$my_field_name = get_post_meta( $order->get_id(), 'my_field_name', true );
if( $my_field_name == 1 )
echo '<p><strong>My custom field: </strong> <span style="color:red;">Is enabled</span></p>';
}
코드가 작동합니다.활성 하위 테마(또는 테마)의 php 파일 또는 플러그인 파일에 있습니다.
WooCommerce 3+에서 테스트되었으며 작동합니다.확인란을 선택하면 주문 편집 페이지에서 청구 주소 아래에 사용자 정의 텍스트가 표시됩니다.
언급URL : https://stackoverflow.com/questions/45905237/add-a-custom-checkbox-in-woocommerce-checkout-which-value-shows-in-admin-edit-or
반응형
'programing' 카테고리의 다른 글
PowerShell Out-File 명령에서 줄 바꿈 방지 (0) | 2023.11.01 |
---|---|
"소시지 만드는 법" apache/php/mysql 상호 작용 견학 (0) | 2023.11.01 |
MySQL 구분 기호를 사용하여 저장 프로시저 구문 생성 (0) | 2023.11.01 |
팬더 읽기 _excel: 'utf-8' 코덱이 위치 14에서 바이트 0xa8을 디코딩할 수 없음: 잘못된 시작 바이트 (0) | 2023.11.01 |
Oracle 정점에서 한 페이지를 다른 페이지에 연결 (0) | 2023.10.27 |