Rumah  >  Soal Jawab  >  teks badan

Tukar nilai langkah kuantiti input produk mudah berdasarkan berat dalam WooCommerce

<p>Saya mahu nilai pemilih kuantiti berubah berdasarkan berat yang kami tetapkan dalam Penghantaran >Berat Produk untuk produk ringkas. Seperti yang ditunjukkan dalam imej di bawah, apabila kita menetapkan berat produk kepada 0.5 kg, pemilih kuantiti produk bermula dari 0.5 dan jika kita menetapkannya kepada 1 kg, ia bermula dari 1. Akhirnya apabila kami menetapkan berat kepada setiap nombor, pemilih kuantiti harus menyala berdasarkan nombor berat yang kami tetapkan. Saya mengubah suai kod tetapi ia tidak berfungsi untuk nilai kurang daripada 1. </p> <pre class="brush:php;toolbar:false;">/*Pemilih Kuantiti Berdasarkan Mudah*/ fungsi custom_quantity_selector_min_value( $min, $product ) { $weight = $product->get_weight(); jika ($ berat > 0 ) { $min = $berat; } pulangkan $min; } add_filter( 'woocommerce_quantity_input_min', 'custom_quantity_selector_min_value', 10, 2 ); //Ubah suai nilai langkah pemilih kuantiti. fungsi custom_quantity_selector_step( $step, $product ) { $weight = $product->get_weight(); jika ($ berat > 0 ) { $langkah = $berat; } kembali $langkah; } add_filter( 'woocommerce_quantity_input_step', 'custom_quantity_selector_step', 10, 2 ); //Kemas kini nilai pemilih kuantiti secara dinamik. fungsi custom_quantity_selector_value( $input_value, $product ) { $weight = $product->get_weight(); jika ($ berat > 0 ) { $input_value = $berat; } pulangkan $input_value; } add_filter( 'woocommerce_quantity_input_value', 'custom_quantity_selector_value', 10, 2 );</pra></p>
P粉351138462P粉351138462381 hari yang lalu507

membalas semua(1)saya akan balas

  • P粉613735289

    P粉6137352892023-09-05 13:56:13

    Penggantian kod yang betul untuk digunakan (dikemas kini):

    • Produk ringkas,
    • atau produk berubah-ubah (dan variasinya).

    Ia akan berfungsi dengan lancar seperti yang dijangkakan:

    • Laman produk tunggal,
    • Terdapat juga halaman troli beli-belah.
    add_filter( 'woocommerce_quantity_input_args', 'cart_variation_quantity_input_args', 10, 2 );
    function cart_variation_quantity_input_args( $args, $product ){
        $product_weight = $product->get_weight();
        
        if( $product_weight > 0 ) {
            if ( ! is_cart()) {
                $args['input_value'] = $product_weight;
            } 
            $args['step'] = $args['min_value'] = $product_weight;
        }
        return $args;
    }
    

    Pastikan anda turut menambah (untuk pengurusan inventori):

    remove_filter('woocommerce_stock_amount', 'intval');
    add_filter('woocommerce_stock_amount', 'floatval');
    

    Kod tersebut terdapat dalam fail functions.php bagi tema kanak-kanak aktif (atau tema aktif). Diuji dan berfungsi.


    Apabila memuatkan halaman yang mengandungi produk 0.5 berat:

    Tetapkan input kuantiti yang betul pada produk dan tingkatkan 0.5 dalam langkah (langkah biasa juga 1) .

    Pada halaman troli, semuanya berfungsi seperti yang diharapkan dengan saiz langkah 0.5 (saiz langkah biasa juga 1).

    Berkaitan (untuk variasi): Tukar nilai langkah kuantiti input berdasarkan berat variasi yang dipilih dalam WooCommerce

    balas
    0
  • Batalbalas