Membuat Quantity Produk Menjadi Desimal (WooCommerce)

membuat quantity produk menjadi desimal

TokoDaring.Com – Membuat Quantity Produk Menjadi Desimal (WooCommerce). Secara default quantity yang ada pada kolom quantity order halaman produk WooCommerce adalah 1 (satu). Dan jika kustomer toko online ingin membeli produk tersebut lebih dari satu pcs, maka quantity penambahannya menjadi 2, 3, 4 dan seterusnya.

Lalu bagaimana jika produk yang anda jual adalah produk kiloan ? Anda juga mengijinkan kustomer untuk membeli setengah kilogram (0.5kg), dengan penambahan quantity menjadi hanya 1 kg , 1.5 kg dan seterusnya.

Kondisi lainnya anda ingin quantity yang ada pada kolom quantity secara default adalah 100 yang artinya 100 gram dan penambahannya qtynya juga setiap 100 (200, 300, 400 dan seterusnya.

Quantity desimal produk WooCommerce

Artikel Lainnya:

Membuat Slider Di WordPress

Ya, kondisi-kondisi seperti itu sangat mungkin untuk bisnis eCommerce dengan produk-produk grosir kebutuhan rumah tangga.

Seperti contoh live berikut kami ambil dari website klien kami freshplus62.com. Dimana quantity untuk produk cabe rawit hijau dimulai dari 0.5 yang artinya adalah setengah kilogram (1/2 kg). Lalu customer bisa menambahkan quantity ordernya (increment) pada kelipatan 0.5 (1, 1.5, 2, 2.5 dan seterusnya).

Membuat quantity produk menjadi desimal

Kami punya tips-triknya, untuk membuat quantity produk menjadi desimal pada website toko online yang dibuat menggunakan WordPress dan WooCommerce.

Ada dua cara sebenarnya yang bisa di tempuh, yaitu dengan memasang plugin yang sesuai atau mengkustomnya dengan membuat fungsi tambahan kedalam file function.php.

Jika anda lebih berkenan untuk memasang plugin, maka ada beberapa yang mungkin bisa anda pasang. Anda bisa mencarinya pada halaman plugins repository WordPress.Org.

Tapi artikel ini tidak lebih jauh bagaimana membuat quantity produk menjadi desimal dengan menggunakan plugin. Seperti kategori coding for fun artikel ini, maka kami akan memaparkan bagaimana melakukannya dengan membuat fungsi tambahan.

Membuat quantity produk desimal tanpa plugin

Tambahkan beberapa potong kode berikut kedalam file function.php child theme. Atau tambahkan dengan menggunakan plugin editor. Membuat sendiri plugin editor adalah cara aman yang bisa ditempuh untuk melakukan segala kustomisasi website eCommerce WordPress.

Untuk lebih jelas mengenai apa itu plugin editor dan cara membuatnya ? Kunjungi artikel lama kami berikut Cara Edit Website eCommerce WordPress Menggunakan Plugin Editor.

/*
 * Membuat Quantity Produk Menjadi Desimal 
 * WooCommerce
 */

add_action( 'init', 'tkdr_stock_qty_float', PHP_INT_MAX );
function wpjkt_float_jumlah_stock() {
	remove_filter( 'woocommerce_stock_amount', 'intval' );
	add_filter( 'woocommerce_stock_amount', 'floatval' );
}

add_filter( 'woocommerce_quantity_input_step', 'tkdr_qty_increment_desimal', PHP_INT_MAX, 2 );
function tkdr_qty_increment_desimal( $qty, $product ) {
	return 0.5;
}

Dengan kode tersebut, kini semua produk anda secara default adalah dimulai dengan quantity 0.5. Dengan penambahannya yang juga setiap 0.5.

Tapi dengan kode tersebut juga, anda mungkin justru menemukan masalah baru. Karena mungkin memiliki produk dengan quantity per pcs atau per pack, yang artinya itu harus selalu 1 dan dengan penambahan yang juga kelipatan 1.

Tentu saja kita sebenarnya bisa membuat pengecualian. Produk info WooCommerce memungkinkan kita untuk menetapkan SKU, ID, TAG atau apapun melalui variabel $product.

Lihat disini tentang WooCommerce Produk Object.

Membuat pengecualian untuk quantity desimal

Ganti kode diatas dengan kode berikut. Pada kode tersebut kami menggunakan id produk untuk membuat pengecualian, tentu saja anda harus menentukan terlebih dulu mana produk yang quantity perlu didesimalkan dan mana yang tidak.

/*
 * Membuat Quantity Produk Menjadi Desimal 
 * WooCommerce
 */

add_action( 'init', 'tkdr_stock_qty_float', PHP_INT_MAX );
function wpjkt_float_jumlah_stock() {
	remove_filter( 'woocommerce_stock_amount', 'intval' );
	add_filter( 'woocommerce_stock_amount', 'floatval' );
}

add_filter('woocommerce_quantity_input_args', 'tkdr_qty_increment_desimal', 10, 2);
function tkdr_qty_increment_desimal($args, $product) {
    if(! is_cart()) {
        if(in_array($product->get_id(), array(123, 234, 345))) {
            $args['input_value'] = 1;
            // $args['max_value'] = 100;
            $args['min_value'] = 1;
            $args['step'] = 1;
        }else{
            $args['input_value'] = 0.5;
            // $args['max_value'] = 100;
            $args['min_value'] = 0.5;
            $args['step'] = 0.5;
        }
    }else{
        if(in_array($product->get_id(), array(123, 234, 345))) {
            // $args['max_value'] = 100;
            $args['min_value'] = 1;
            $args['step'] = 1;
        }else{
            // $args['input_value'] = 0.5;
            // $args['max_value'] = 100;
            $args['min_value'] = 0.5;
            $args['step'] = 0.5;
        }
    }
    return $args;
}
TokoDaring
TokoDaring

Dari menggoreng tempe hingga menulis script php. Jika tidak sedang cooking dia sedang coding. Thank you for your time!

      TokoDaring.Com
      Logo
      Compare items
      • Total (0)
      Compare
      0
      Shopping cart