Skip to content
Advertisement

Allows decimal float numbers in WooCommerce form field type number

I am making an input form in WooCommerce using a function called woocommerce_form_field() for an input type number field like below:

woocommerce_form_field(
    'left_far',
    array(
        'type'        => 'number',
        'class' => array('left_far', 'left_far woocommerce-form-row woocommerce-form-row--last form-row form-row-last'),
        'required'    => false, 
        'label'       => 'OOOOO',
    ),
    get_user_meta(get_current_user_id(), 'left_far', true) 
);

Now I would like to be able to allow decimal float numbers to be inputed in this field. Is it possible? What should I do?

Advertisement

Answer

You need to use 'custom_attributes' argument with attribute 'step' set to 'any' as follows:

woocommerce_form_field( 'left_far', array(
    'type'              => 'number',
    'label'             => 'OOOOO',
    'class'             => array('left_far', 'left_far woocommerce-form-row woocommerce-form-row--last form-row form-row-last'),
    'custom_attributes' => array( 'step' => 'any', 'min' => '0' ),
    'required'          => false,
), get_user_meta( get_current_user_id(), 'left_far', true )  );

Tested and works.

Note: 'min' argument define the starting allowed value

User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement