IT

상품을 추가할 때 wocommerce 상품 페이지에서 사용자 지정 필드 값을 필수(필수)로 만들려면 어떻게 해야 합니까?

itgroup 2023. 10. 20. 13:33
반응형

상품을 추가할 때 wocommerce 상품 페이지에서 사용자 지정 필드 값을 필수(필수)로 만들려면 어떻게 해야 합니까?

우커머스의 상품 추가 페이지에 맞춤형 텍스트 상자 필드를 추가했습니다.이제 저는 그것을 필수로 만들고 싶습니다(필수화하고 싶습니다.required"=> true 의 인수를 통과하여 시도해 보았습니다.작동하지 않습니다.아래 코드를 참조하시기 바랍니다.

woocommerce_wp_text_input(
  array(
    'id' => 'special_price',
    'label' => __( 'Wholesaler Price *', 'woocommerce' ),
    'placeholder' => '',
    'desc_tip' => 'true',
    'required' => 'true',
    'description' => __( 'Enter wholesaler price here.', 'woocommerce' )
  )
);

하지만 그것이 텍스트 박스를 의무적으로 만드는 것은 아닙니다.어떻게 하는지 누가 말해줄 수 있나요?

를 위해requiredHTML5 속성 및 기타 사용자 지정 속성woocommerce_wp_text_input()함수 가 가지고 있습니다.custom_attributes선택.

woocommerce_wp_text_input(
  array(
    'id' => 'special_price',
    'label' => __( 'Wholesaler Price *', 'woocommerce' ),
    'placeholder' => '',
    'desc_tip' => 'true',
    'custom_attributes' => array( 'required' => 'required' ),
    'description' => __( 'Enter wholesaler price here.', 'woocommerce' )
  )
);

필요에 따라 아래 코드를 수정할 수 있습니다.

// Validate when adding to cart
        add_filter( 'woocommerce_add_to_cart_validation', 'woocommerce_add_to_cart_validation_custom', 10, 3 );

/  validation

    function woocommerce_add_to_cart_validation_custom($passed, $product_id, $qty){

        global $woocommerce;

$option = ''; // your custom field's name

   if( isset($_POST[sanitize_title($option)]) && $_POST[sanitize_title($option)] == '' )
        $passed = false;

    if (!$passed)
        $woocommerce->add_error( sprintf( __('"%s" is a required field.', 'woocommerce'), $option) );

        return $passed;

    }

카트에 제품을 추가하는 동안 더 많은 옵션을 원하시면 Woocommerce의 카트 세션 배열에 사용자 지정 텍스트 상자 값을 추가하는 방법을 찾으실 수 있습니다. 이 답변이 도움이 됩니다.

언급URL : https://stackoverflow.com/questions/23821420/how-can-i-make-custom-field-value-required-compulsory-in-woocommerce-product

반응형