如果您想阻止 WooCommerce 的这种行为,您将需要global/quantity-input.php
通过您的活动主题覆盖模板文件。
首先阅读“如何通过您的活动主题覆盖 woocommerce 模板”,其中解释了如何将模板文件从 WooCommerce 插件复制到您的主题文件夹以进行一些所需的更改。
要复制的相关模板文件是: global/quantity-input.php
将其复制到“global”子文件夹上的“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
}