使用min和max =1应用此筛选器将使购物车页面上的数量输入字段消失:
add_filter( 'woocommerce_quantity_input_args', 'custom_cart_qty_range', 10, 2 );
function custom_cart_qty_range( $args, $product ) {
$args['min_value'] = 1;
$args['max_value'] = 1;
return $args;
}
我完全不理解这个“特性”,因为顾客根本看不到商品数量。我想让输入readonly
和应用自定义CSS代替。我已经准备好了这个CSS,但我需要的是阻止WooCommerce在min = max时为数量输入字段做一个异常。
在产品页面上,当min = max (呈现的过滤器在产品页面数量上不起作用)输入字段仍然可见时,我希望看到什么结果。
发布于 2019-05-26 00:00:02
如果你想在WooCommerce中停止这种行为,你需要通过你的活动主题覆盖global/quantity-input.php
模板文件。
首先阅读,它解释了如何将模板文件从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
}
https://stackoverflow.com/questions/56306345
复制相似问题