• Resolved gnrcmp9

    (@gnrcmp9)


    Hi we have noticed that when only one product remains in the stock, the input text area that is between minus and plus button disappears, not showing the customer the quantity in stock which is 1. it is as if woocommerce hides this input text area. how to fix this bug? If you can use a function that maybe blocks (hide) the plus and minus keys but show quantity in stock.

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

Viewing 3 replies - 1 through 3 (of 3 total)
  • This isn’t a bug, its how its supposed to work.

    You can suggest a change to how woocommerce works on this site:
    https://ideas.woocommerce.com/forums/133476-woocommerce
    but there are many suggestions.

    The following article suggests a way round. Not tested it myself.
    https://stackoverflow.com/questions/48724400/woocommerce-quantity-button-disappear-for-a-single-unit-in-stock

    Or you can modify the template:
    templates/global/quantity-input.php
    and put your custom template in your child theme.

    There is the complication of hiding or deactivating your + / – buttons.

    Either way, modest PHP skills or a developer will be needed.

    Plugin Support Tseten a11n

    (@tibetanitech)

    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.

    Thread Starter gnrcmp9

    (@gnrcmp9)

    hi excuse me unfortunately I was absent. here’s how I solved maybe it can be useful to someone else with the same problem I studied the code a bit replace this code entirely in the php file

    /wp-content/plugins/woocommerce/templates/global/quantity-input.php

    <?php
    /**
    * Product quantity inputs
    *
    * This template can be overridden by copying it to yourtheme/woocommerce/global/quantity-input.php.
    *
    * HOWEVER, on occasion WooCommerce will need to update template files and you
    * (the theme developer) will need to copy the new files to your theme to
    * maintain compatibility. We try to do this as little as possible, but it does
    * happen. When this occurs the version of the template file will be bumped and
    * the readme will list any important changes.
    *
    * @see https://docs.woocommerce.com/document/template-structure/
    * @package WooCommerce\Templates
    * @version 4.0.0
    */

    defined( ‘ABSPATH’ ) || exit;

    if ( $max_value && $min_value === $max_value ) {
    /* translators: %s: Quantity. */
    $label = ! empty( $args[‘product_name’] ) ? sprintf( esc_html__( ‘%s quantity’, ‘woocommerce’ ), wp_strip_all_tags( $args[‘product_name’] ) ) : esc_html__( ‘Quantity’, ‘woocommerce’ );
    ?>
    <div class=”quantity”>
    <?php do_action( ‘woocommerce_before_quantity_input_field’ ); ?>
    <label class=”screen-reader-text” for=”<?php echo esc_attr( $input_id ); ?>”><?php echo esc_attr( $label ); ?></label>
    <input
    type=”number”
    id=”<?php echo esc_attr( $input_id ); ?>”
    class=”<?php echo esc_attr( join( ‘ ‘, (array) $classes ) ); ?>”
    step=”<?php echo esc_attr( $step ); ?>”
    min=”<?php echo esc_attr( $min_value ); ?>”
    max=”<?php echo esc_attr( 0 < $max_value ? $max_value : ” ); ?>”
    name=”<?php echo esc_attr( $input_name ); ?>”
    value=”<?php echo esc_attr( $input_value ); ?>”
    title=”<?php echo esc_attr_x( ‘Qty’, ‘Product quantity input tooltip’, ‘woocommerce’ ); ?>”
    size=”4″
    placeholder=”<?php echo esc_attr( $placeholder ); ?>”
    inputmode=”<?php echo esc_attr( $inputmode ); ?>” />
    <?php do_action( ‘woocommerce_after_quantity_input_field’ ); ?>
    </div>
    <?php
    } else {
    /* translators: %s: Quantity. */
    $label = ! empty( $args[‘product_name’] ) ? sprintf( esc_html__( ‘%s quantity’, ‘woocommerce’ ), wp_strip_all_tags( $args[‘product_name’] ) ) : esc_html__( ‘Quantity’, ‘woocommerce’ );
    ?>
    <div class=”quantity”>
    <?php do_action( ‘woocommerce_before_quantity_input_field’ ); ?>
    <label class=”screen-reader-text” for=”<?php echo esc_attr( $input_id ); ?>”><?php echo esc_attr( $label ); ?></label>
    <input
    type=”number”
    id=”<?php echo esc_attr( $input_id ); ?>”
    class=”<?php echo esc_attr( join( ‘ ‘, (array) $classes ) ); ?>”
    step=”<?php echo esc_attr( $step ); ?>”
    min=”<?php echo esc_attr( $min_value ); ?>”
    max=”<?php echo esc_attr( 0 < $max_value ? $max_value : ” ); ?>”
    name=”<?php echo esc_attr( $input_name ); ?>”
    value=”<?php echo esc_attr( $input_value ); ?>”
    title=”<?php echo esc_attr_x( ‘Qty’, ‘Product quantity input tooltip’, ‘woocommerce’ ); ?>”
    size=”4″
    placeholder=”<?php echo esc_attr( $placeholder ); ?>”
    inputmode=”<?php echo esc_attr( $inputmode ); ?>” />
    <?php do_action( ‘woocommerce_after_quantity_input_field’ ); ?>
    </div>
    <?php
    }
    Merry Christmas.

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘text input area disappears when only one unit remains in stock (single product’ is closed to new replies.