Если вы хотите остановить это поведение в WooCommerce, вам нужно переопределить файл шаблона global/quantity-input.php
через вашу активную тему.
Сначала прочитайте "Как переопределить шаблоны woocommerce через активную тему" , в которой объясняется, как скопировать файл шаблона из плагина WooCommerce в папку вашей темы, чтобы внести некоторые необходимые изменения.
Связанный файл шаблона для копирования: global/quantity-input.php
Как только он будет скопирован в вашу тему в папке «woocommerce» в «глобальной» подпапке, откройте / отредактируйте файл quantity-input.php
и измените следующий блок кода (из строки 21
до 25
) :
?>
<div class="quantity hidden">
<input type="hidden" id="<?php echo esc_attr( $input_id ); ?>" class="qty" name="<?php echo esc_attr( $input_name ); ?>" value="<?php echo esc_attr( $min_value ); ?>" />
</div>
<?php
По следующему номеру:
?>
<div class="quantity">
<input type="text" id="<?php echo esc_attr( $input_id ); ?>" class="qty" name="<?php echo esc_attr( $input_name ); ?>" value="<?php echo esc_attr( $min_value ); ?>" readonly="readonly" />
</div>
<?php
Сохранить, все готово.
Теперь, когда min_value
будет равно max_value
, поле будет отображаться только для чтения с правильным значением.
Теперь, если вам нужно это только на странице корзины, вместо этого вам нужно будет внести следующие изменения:
if ( is_cart() ) {
?>
<div class="quantity">
<input type="text" id="<?php echo esc_attr( $input_id ); ?>" class="qty" name="<?php echo esc_attr( $input_name ); ?>" value="<?php echo esc_attr( $min_value ); ?>" readonly="readonly" />
</div>
<?php
} else {
?>
<div class="quantity hidden">
<input type="hidden" id="<?php echo esc_attr( $input_id ); ?>" class="qty" name="<?php echo esc_attr( $input_name ); ?>" value="<?php echo esc_attr( $min_value ); ?>" />
</div>
<?php
}