• Resolved nicowebmaster

    (@nicowebmaster)


    Hello,
    I added a code to display the quantity produced as a drop-down list, but I had to put a minimum quantity and a max quantity. How to dynamically display the quantity max = quantity in stock of the product?

    My code:

    function woocommerce_quantity_input() {
        global $product;
      $defaults = array(
        'input_name'    => 'quantity',
        'input_value'   => '1',
        'max_value'   => apply_filters( 'woocommerce_quantity_input_max', '', $product ),
        'min_value'   => apply_filters( 'woocommerce_quantity_input_min', '', $product ),
        'step'    => apply_filters( 'woocommerce_quantity_input_step', '1', $product ),
        'style'   => apply_filters( 'woocommerce_quantity_style', 'float:left; margin-right:10px;', $product )
      );
      if ( ! empty( $defaults['min_value'] ) )
        $min = $defaults['min_value'];
      else $min = 1;
      if ( ! empty( $defaults['max_value'] ) )
        $max = $defaults['max_value'];
      else $max = 20;
      if ( ! empty( $defaults['step'] ) )
        $step = $defaults['step'];
      else $step = 1;
      $options = '';
      for ( $count = $min; $count <= $max; $count = $count+$step ) {
        $options .= '<option value="' . $count . '">' . $count . '</option>';
      }
      echo '<div class="quantity_select" style="' . $defaults['style'] . '"><select name="' . esc_attr( $defaults['input_name'] ) . '" title="' . _x( 'Qty', 'Product quantity input tooltip', 'woocommerce' ) . '" class="qty">' . $options . '</select></div>';
    }

    Thanks!

    Nicolas

    The page I need help with: [log in to see the link]

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Contributor Gerhard Potgieter

    (@kloon)

    Hi, $product->get_stock_quantity( 'edit' ) will return the the quantity available for the sale for the specific product. So you will need to set $max to $product->get_stock_quantity( 'edit' )

    Thread Starter nicowebmaster

    (@nicowebmaster)

    Hello,

    What would be the exact code? I replaced but I have a blank page

    Thanks

    Plugin Contributor Gerhard Potgieter

    (@kloon)

    Try the following, if you have issues then I suggest you hire a developer for assistance.

    
    function woocommerce_quantity_input() {
        global $product;
      $defaults = array(
        'input_name'    => 'quantity',
        'input_value'   => '1',
        'max_value'   => apply_filters( 'woocommerce_quantity_input_max', '', $product ),
        'min_value'   => apply_filters( 'woocommerce_quantity_input_min', '', $product ),
        'step'    => apply_filters( 'woocommerce_quantity_input_step', '1', $product ),
        'style'   => apply_filters( 'woocommerce_quantity_style', 'float:left; margin-right:10px;', $product )
      );
      if ( ! empty( $defaults['min_value'] ) )
        $min = $defaults['min_value'];
      else $min = 1;
      if ( ! empty( $defaults['max_value'] ) )
        $max = $defaults['max_value'];
      else $max = $product->get_stock_quantity( 'edit' );
      if ( ! empty( $defaults['step'] ) )
        $step = $defaults['step'];
      else $step = 1;
      $options = '';
      for ( $count = $min; $count <= $max; $count = $count+$step ) {
        $options .= '<option value="' . $count . '">' . $count . '</option>';
      }
      echo '<div class="quantity_select" style="' . $defaults['style'] . '"><select name="' . esc_attr( $defaults['input_name'] ) . '" title="' . _x( 'Qty', 'Product quantity input tooltip', 'woocommerce' ) . '" class="qty">' . $options . '</select></div>';
    }
    

    We haven’t heard back from you in a while, so I’m going to mark this as resolved – if you have any further questions, you can start a new thread.

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘product quantity drop-down’ is closed to new replies.