我正在开发一个电子商务网站,我想分别为每个产品添加不同的自定义数量。例如,我想要数量为 250、500、1000、1200、1500 等的名片页面,而磁铁页面数量为 15、25、50、75 等。我找到了以下代码,我可以添加不同的代码数量,但它对所有产品都是通用的。请帮忙
<?php
if ( ! defined( 'ABSPATH' ) ) exit;
if ( $max_value && $min_value === $max_value ) {
?><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
} elseif ( isset ( $dropdown_steps ) ) {
?><div class="quantity">
<label class="screen-reader-text" for="<?php echo esc_attr( $input_id ); ?>"><?php esc_html_e( 'Quantity', 'woocommerce' ); ?></label>
<select name="<?php echo esc_attr( $input_name ); ?>" class="quantity" id="<?php echo esc_attr( $input_id ); ?>"><?php
foreach ( $dropdown_steps as $i ) :
?><option value="<?php echo absint( $i ); ?>"><?php echo sprintf( _n( '%d Item', '%d Items', $i, 'woocommerce' ), $i ); ?></option><?php
endforeach
?></select>
</div><?php
} else {
?><div class="quantity">
<label class="screen-reader-text" for="<?php echo esc_attr( $input_id ); ?>"><?php esc_html_e( 'Quantity', 'woocommerce' ); ?></label>
<input type="number" id="<?php echo esc_attr( $input_id ); ?>" class="input-text qty text" step="
<?php echo esc_attr( $step ); ?>" min="<?php echo esc_attr( $min_value ); ?>" max="<?php echo esc_attr( 0
< $max_value ? $max_value : '' ); ?>" name="<?php echo esc_attr( $input_name ); ?>" value="<?php echo
esc_attr( $input_value ); ?>" title="<?php echo esc_attr_x( 'Qty', 'Product quantity input tooltip',
'woocommerce' ) ?>" size="4" pattern="<?php echo esc_attr( $pattern ); ?>" inputmode="<?php echo
esc_attr( $inputmode ); ?>" aria-labelledby="<?php echo ! empty( $args['product_name'] ) ? sprintf(
esc_attr__( '%s quantity', 'woocommerce' ), $args['product_name'] ) : ''; ?>" />
</div><?php
}
在购物车页面
/**
* Add additional quantity input field args.
*
* @param WC_Product $product
*/
function ace_quantity_input_field_args( $args, $product ) {
if ( ! $product->is_sold_individually() ) {
$args['dropdown_steps'] = array( 1, 5, 25, 100, 250, 500, 2500 );
}
return $args;
}
add_filter( 'woocommerce_quantity_input_args', 'ace_quantity_input_field_args', 10, 2 );