나는 WooCommerce 기능이있는 WordPress 웹 사이트에서 일하고 있습니다.왜 PHP 코드가 WooCommerce에서 검사되지 않은 Custom Checkbox를 저장할 수 없습니까?
나는 WooCommerce Product Dashboard에 나타나는 Custom Checkbox Field를 만들었습니다. 체크 박스를 만들려면, 나는 functions.php
파일에 다음 코드를 입력 :
function woocommerce_product_custom_fields_save($post_id){
if (! empty($_POST['_engrave_text_option']))
update_post_meta($post_id, '_engrave_text_option', esc_attr($_POST['_engrave_text_option']));
}
add_action('woocommerce_process_product_meta', 'woocommerce_product_custom_fields_save');
체크 박스가 성공적으로 나타납니다
function product_custom_fields_add(){
global $post;
$input_checkbox = get_post_meta($post->ID, '_engrave_text_option', true);
if(empty($input_checkbox) || $input_checkbox == 'no') $input_checkbox = '';
echo '<div class="product_custom_field">';
woocommerce_wp_checkbox(
array(
'id' => '_engrave_text_option',
'desc' => __('set custom Engrave text field', 'woocommerce'),
'label' => __('Display custom Engrave text field', 'woocommerce'),
'desc_tip' => 'true',
'value' => $input_checkbox
)
);
echo '</div>';
}
add_action('woocommerce_product_options_advanced', 'product_custom_fields_add');
가 입력 된 값을 저장하려면, 나는 functions.php
파일에 다음 코드를 입력 제품 대시 보드에서 성공적으로 확인란을 선택하고 저장합니다. 문제가 발생하면 확인란을 선택 취소합니다. 어떤 이유로, 체크를 해제하고 페이지 저장을 계속할 때, 페이지는 체크 박스가 선택된 상태로 다시로드됩니다.
누구든지이 버그의 원인이 될 수있는 위 코드를 잘못 볼 수 있습니까?
: 그래서 당신은 절약 부분에 대한 일부 조정 된 코드가 필요합니다. 확인란의 선택을 취소하면 값이 전혀 전송되지 않습니다. – janh