Php 在每个产品的电子商务签出上添加数量输入字段
我试图了解如何在结帐页面上添加数量输入字段,从而允许客户更改每个产品的数量 这就是我目前得到的结果:Php 在每个产品的电子商务签出上添加数量输入字段,php,wordpress,woocommerce,checkout,product-quantity,Php,Wordpress,Woocommerce,Checkout,Product Quantity,我试图了解如何在结帐页面上添加数量输入字段,从而允许客户更改每个产品的数量 这就是我目前得到的结果: add_filter( 'woocommerce_checkout_cart_item_quantity', 'qty_and_qty_change_on_checkout', 20, 3 ); function qty_and_qty_change_on_checkout( $quantity_html, $cart_item, $cart_item_key ) { return '
add_filter( 'woocommerce_checkout_cart_item_quantity', 'qty_and_qty_change_on_checkout', 20, 3 );
function qty_and_qty_change_on_checkout( $quantity_html, $cart_item, $cart_item_key ) {
return '<br>
'.woocommerce_quantity_input().'
<span class="product-quantity">
' . sprintf( '<b>Qty:</b> %s', $cart_item['quantity'] ) . '
</span>';
}
Notice: Undefined index: product in /wp-content/plugins/woocommerce/includes/wc-template-functions.php on line 1670
您没有将必要的参数设置到
woocommerce\u quantity\u input()
函数中,就像在模板文件中一样…以下内容将在签出页面中显示一个输入字段,其中当前数量将替换数量字符串:
add_filter( 'woocommerce_checkout_cart_item_quantity', 'qty_input_field_on_checkout', 20, 3 );
function qty_input_field_on_checkout( $quantity_html, $cart_item, $cart_item_key ) {
$_product = $cart_item['data'];
if ( $_product->is_sold_individually() ) {
$product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
} else {
$product_quantity = woocommerce_quantity_input(
array(
'input_name' => "cart[{$cart_item_key}][qty]",
'input_value' => $cart_item['quantity'],
'max_value' => $_product->get_max_purchase_quantity(),
'min_value' => '0',
'product_name' => $_product->get_name(),
),
$_product,
false
);
}
return '<br><span class="product-quantity"><strong>' . __( 'Qty') . ': </strong></span>' . $product_quantity;
}
add_filter('woocommerce_checkout_cart_item_quantity','quantity_input_field_on_checkout',20,3);
签出时的函数数量输入字段($quantity\u html、$cart\u item、$cart\u item\u key){
$\u产品=$cart\u项目['data'];
如果($\产品->单独销售(){
$product\U QUOTE=sprintf('1',$cart\U item\U key);
}否则{
$product\U QUOTE=WOO商业\U QUOTE\U输入(
排列(
'input_name'=>“购物车[{$cart_item_key}][qty]”,
“输入值”=>$cart\u项目[“数量”],
“最大值”=>$\u产品->获取最大采购量(),
“最小值”=>“0”,
'product\u name'=>$\u product->get\u name(),
),
$\u产品,
假的
);
}
返回“
”。(数量):。$product\u数量;
}
代码进入活动子主题(或活动主题)的functions.php文件。测试和工作
现在,这将只允许显示数量字段,但不允许更新产品数量,因为这是更复杂的事情
您没有将必要的参数设置到
woocommerce\u quantity\u input()
函数中,就像在模板文件中一样…以下内容将在签出页面中显示一个输入字段,其中当前数量将替换数量字符串:
add_filter( 'woocommerce_checkout_cart_item_quantity', 'qty_input_field_on_checkout', 20, 3 );
function qty_input_field_on_checkout( $quantity_html, $cart_item, $cart_item_key ) {
$_product = $cart_item['data'];
if ( $_product->is_sold_individually() ) {
$product_quantity = sprintf( '1 <input type="hidden" name="cart[%s][qty]" value="1" />', $cart_item_key );
} else {
$product_quantity = woocommerce_quantity_input(
array(
'input_name' => "cart[{$cart_item_key}][qty]",
'input_value' => $cart_item['quantity'],
'max_value' => $_product->get_max_purchase_quantity(),
'min_value' => '0',
'product_name' => $_product->get_name(),
),
$_product,
false
);
}
return '<br><span class="product-quantity"><strong>' . __( 'Qty') . ': </strong></span>' . $product_quantity;
}
add_filter('woocommerce_checkout_cart_item_quantity','quantity_input_field_on_checkout',20,3);
签出时的函数数量输入字段($quantity\u html、$cart\u item、$cart\u item\u key){
$\u产品=$cart\u项目['data'];
如果($\产品->单独销售(){
$product\U QUOTE=sprintf('1',$cart\U item\U key);
}否则{
$product\U QUOTE=WOO商业\U QUOTE\U输入(
排列(
'input_name'=>“购物车[{$cart_item_key}][qty]”,
“输入值”=>$cart\u项目[“数量”],
“最大值”=>$\u产品->获取最大采购量(),
“最小值”=>“0”,
'product\u name'=>$\u product->get\u name(),
),
$\u产品,
假的
);
}
返回“
”。(数量):。$product\u数量;
}
代码进入活动子主题(或活动主题)的functions.php文件。测试和工作
现在,这将只允许显示数量字段,但不允许更新产品数量,因为这是更复杂的事情
谢谢你,非常感谢你的帮助。我成功地将其更改为自动更新。当数量发生更改时,如何使用AJAX将其更改为自动更新?用户提到能够实现这一点,但没有分享。非常沮丧,因为我不知所措。谢谢你,非常感谢你的帮助。我成功地将其更改为自动更新。当数量发生更改时,如何使用AJAX将其更改为自动更新?用户提到能够实现这一点,但没有分享。非常沮丧,因为我不知所措。