Различные индивидуальные количества для каждой отдельной страницы продукта - PullRequest
1 голос
/ 05 февраля 2020

Я работаю над сайтом электронной коммерции, на котором я хочу добавить разные индивидуальные количества для каждого отдельного продукта в отдельности. Например, я хочу, чтобы страница визитных карточек имела количество 250 500, 100 000, 1500 и т. Д. c .., а количество страниц на магнитах - 15,25,50,75 и т. c. Я нашел следующий код: который я могу добавить в разных количествах, но это характерно для всех продуктов. Пожалуйста, помогите

    <?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 );

...