Menampilkan Harga Yang Berbeda WooCommerce

menampilkan harga yang berbeda woocommerce

TokoDaring.Com – Menampilkan Harga Yang Berbeda WooCommerce. Bisnis toko online anda mungkin saja menerapkan strategi harga yang berbeda pada tiap-tiap kustomer. Tentu itu sah-sah saja, banyak kondisi dimana kita mungkin menerapkan strategi itu. Tapi bagaimana kita dapat melakukannya jika kita membuat toko daring menggunakan WooCommerce ?

Beberapa kondisi untuk menampilkan harga yang berbeda

Artikel Lainnya:

Menampilkan Jumlah Total Belanja Di Keranjang WooCommerce

Jika sebelumnya kami menerbitkan artikel kustomisasi WooCommerce untuk menampilkan harga hanya untuk user yang login saja. Maka beberapa kondisi berikut mungkin memaksa anda untuk membuat harga yang berbeda pada kustomer yang berbeda tapi untuk produk yang sama.

Harga berbeda karena TOP kustomer yang berbeda

Perbedaan harga untuk produk yang sama paling sering karena penetapan sistem pembayaran dengan TOP (Terms Of Payment) yang berbeda-beda pada masing-masing kustomer. Ketika proses deal harga, mungkin beberapa kustomer membayar setelah 14 hari dari tanggal barang diterima. Lalu ada beberapa kustomer dimana anda mengijinkan untuk membayar 21 hari dari tanggal barang di terima.

Contoh penerapaan kebijakan variasi harga itu adalah kira-kira sebagai berikut :

  • Produk ayam potong dengan variasi harga yang ditetapkan adalah sebagai berikut :
    • Di jual seharga Rp 37.500 untuk pembayaran cash (COD) atau transfer dihari yang sama.
    • Di jual seharga Rp 39.750 untuk pembayaran yang akan di bayar dalam 7 hari.
    • Di jual seharga Rp 42.500 untuk pembayaran yang akan di bayar dalam 14 hari.
    • Di jual seharga Rp 45.000 untuk pembayaran yang akan di bayar dalam 21 hari.

Artinya, ada empat harga yang berbeda untuk satu produk yang sama berdasarkan perjanjian pembayarannya.

Menampilkan harga yang berbeda WooCommerce

Secara default WooCommerce tidak bisa melakukan itu karena itu adalah produk yang sama (bukan produk variasi).

Tapi hal tersebut mungkin dilakukan dengan dua cara, dengan menggunakan plugin atau dengan mengkustomnya dengan membuat fungsi tambahan didalam file function.php.

Menampilkan harga yang berbeda WooCommerce dengan menggunakan plugin

Sepanjang yang kami tau tidak ada plugin atau ekstension gratis untuk melakukan hal itu. Rata-rata anda perlu mengeluarkan uang 90 dolar hingga 240 dolar untuk satu tahun, dan 200 hingga 600 dolar untuk akses lifetime.

Kami tidak banyak membahas tentang plugin mana yang bisa digunakan untuk mengkustom hal itu. Bukan cuma soal harganya yang mahal, tapi itu bisa dilakukan dengan membuat fungsi sendiri dan lebih hemat baik uang maupun resources.

Cara kerja plugin itu sangat tidak efektif karena harus membuat database baru dengan harga yang harus anda buat secara manual. Jika ada 200 produk yang dijual dengan empat variasi harga yang berbeda, maka harus di input satu persatu hingga menjadi 800 harga yang berbeda.

Belum lagi jika setiap hari terdapat perubahan harga beli karena produknya yang dinamis. Cara lainnya untuk Menampilkan harga yang berbeda pada masing-masing kustomer berbeda adalah dengan membuat fungsi kustom.

Menampilkan harga yang berbeda WooCommerce tanpa plugin

Kodenya akan terlihat seperti berikut, tapi anda perlu untuk menentukan ID kustomer get_current_user_id() untuk disesuaikan dengan variabel lama pembayarannya. Lalu mengait hook woocommerce_product_get_price dan menghitung besaran margin pada tiap-tiap kelompok TOP tersebut.

Tambahkan kode berikut ke dalam file function.php, atau tambahkan ke dalam plugin editor seperti yang pernah kami terbitkan.

/* 
 * Menampilkan harga yang berbeda WooCommerce
 *
 */ 

add_filter( 'woocommerce_product_get_price', 'tkdr_top_of_pay', 10, 1 );
function tkdr_top_of_pay( $price ) {
    $top7 = [ 2, 14 ];
    $top14 = [ 3, 15 ];
    $top21 = [ 4, 16 ];
    if ( in_array( get_current_user_id(), $top_payment, true ) ) {
        return $price * 107.33333 / 100;
        } else {
        if ( in_array( get_current_user_id(), $top, true ) ) {
        return $price * 109.66667 / 100;
        } else {
        if ( in_array( get_current_user_id(), $top, true ) ) {
        return $price * 112 / 100;
        } }
        return $price;
    }
} 

GET THE BEST APPS IN YOUR INBOX

Don't worry we don't spam

      Shopping cart