Wordpress 自定义数量选择器

Wordpress 自定义数量选择器,wordpress,select,menu,e-commerce,woocommerce,Wordpress,Select,Menu,E Commerce,Woocommerce,我正在尝试将默认+/-数量选择器更改为具有给定数量的数字选项(即1-10)的下拉菜单 有人知道如何做到这一点吗 如果您想让我发布与此相关的任何代码,请告诉我。我也想这样做。到目前为止,我发现数量标记是在woocommerce/templates/single product/add to cart/quantity.php中生成的。您可以在主题文件夹中的woocommerce/templates目录结构的最小镜像中复制此文件,例如,在本例中,将其复制到yourtheme/woocommerce/

我正在尝试将默认+/-数量选择器更改为具有给定数量的数字选项(即1-10)的下拉菜单

有人知道如何做到这一点吗


如果您想让我发布与此相关的任何代码,请告诉我。

我也想这样做。到目前为止,我发现数量标记是在
woocommerce/templates/single product/add to cart/quantity.php
中生成的。您可以在主题文件夹中的
woocommerce/templates
目录结构的最小镜像中复制此文件,例如,在本例中,将其复制到
yourtheme/woocommerce/single product/add to cart
。您可以在不更改插件的情况下对其进行编辑,并在更新插件时冒被覆盖的风险。

有一个插件,名为WooCommerce Advanced Product Quantilities,它是免费的,允许您为所有产品数量输入设置最小值、最大值和步长值。为每个产品、每个类别/标签或整个站点设置规则

它还与WooCommerce缩略图输入数量一起工作,将这些数量框放入所有产品缩略图框中


享受吧!完全公开,我是插件作者。

我没有尝试过这个,但我找到了这个代码

/*将产品数量输入更改为下拉列表*/
函数\u数量\u输入(){
全球$产品;
$defaults=数组(
'输入名称'=>'数量',
“输入值”=>“1”,
“最大值”=>apply_过滤器('woocommerce_quantity_input_max',''$product),
“最小值”=>apply_过滤器('woocommerce_quantity_input_min',''$product),
“步骤”=>apply_filters('woocommerce_quantity_input_step','1',$product),
'style'=>apply_过滤器('woocommerce_quantity_style','float:left;margin-right:10px;',$product)
);
如果(!empty($defaults['min_value']))
$min=$defaults['min_value'];
否则$min=1;
如果(!empty($defaults['max_value']))
$max=$defaults['max_value'];
否则$max=20;
如果(!empty($defaults['step']))
$step=$defaults['step'];
else$step=1;
$options='';

对于($count=$min;$count,您需要覆盖模板“quantity input.php”,以便添加名为“quantity input.php”的文件在你的主题/woocommerce/global/文件夹中,然后你可以在该文件中进行更改,现在wordpress将使用你的文件来显示数量输入html。

?我真的不知道从哪里开始,我已经尝试过查找与选择器相关的所有文件,但不知道该做什么。我在m中找到了我所寻找的答案,这很有用Y研究,这个问题没有显示什么是上/下投票是为了。因此,我不得不投票。最好是显示至少你已经尝试或类似的一个WooBooad挂钩。我感谢你已经提出邮政编码,但是,你可以考虑张贴代码在未来的职位直接。希望这赫尔。ps与你的未来如此互动。我们想提供帮助,但规则很重要。我发现这对变异产品来说相当复杂。从数据库中似乎需要查询变异价格,我猜变异股票也是如此。阅读这篇文章我暂时放弃了,因为我需要所有类型的下拉选择器有一件事我确实发现,
single product/add to cart/quantity.php
中的数量值
data min
data max
被JavaScript覆盖。我发现设置这些值的唯一方法是在
woocommerce模板.php
中使用
woocommerce\u quantity\u input\u args
过滤器
woocommerce/templates/single product/add to cart/
中没有
quantity.php
文件。我尝试了这段代码。它工作得很好。只是不知道为什么用同一段代码链接了两个不同的地方?一个在答案中,一个在注释中。实际上,是的,而这段代码“有效”它将所有数量按钮更改为下拉列表。因此,在购物车页面上,这会导致问题(不会更新以反映购物车中的数量)。不幸的是,看起来最好的选择可能是更新模板文件,如下所述:嗨!感谢插件!很遗憾,它不再工作:(每个帖子只有覆盖功能在工作。你打算在不久的将来修复它吗?
/* Change Product Quantity Input to Dropdown */
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>';
}