Cara Menonaktifkan Metode Pembayaran untuk Kategori Tertentu

Diterbitkan: 2020-09-01

Metode Pembayaran Nonaktifkan WooCommerce untuk Kategori Tertentu Apakah Anda menjalankan toko WooCommerce dan Anda ingin tahu bagaimana Anda dapat menonaktifkan metode pembayaran untuk kategori tertentu atau beberapa metode pembayaran berdasarkan kategori produk yang ada di keranjang? Jika Anda mencari solusi yang berfokus pada kategori produk, tetapi dengan beberapa perubahan kecil juga dapat diubah untuk kelas pengiriman misalnya pada produk itu sendiri, artikel ini akan memandu Anda tentang cara mencapainya.

Nonaktifkan Metode Pembayaran untuk Kategori Tertentu

Contoh bagus di mana pendekatan ini berguna adalah ketika pemilik toko WooCommerce memiliki kategori yang hanya berisi produk dengan harga tinggi dan ingin pelanggan membayar dengan transfer bank daripada menggunakan kartu kredit. Ini hanyalah contoh dari banyak situasi di mana Anda mungkin perlu menonaktifkan metode pembayaran untuk suatu kategori.

Jika Anda tidak paham teknologi, Anda dapat memilih plugin premium untuk melakukan pekerjaan itu untuk Anda. Contohnya adalah Plugin Pembayaran Bersyarat WooCommerce, yang membantu Anda membuat kondisi di mana metode pembayaran Anda akan diaktifkan atau dinonaktifkan. Jika Anda tidak begitu hebat dalam menggunakan kode, ini akan menjadi solusi premium terbaik yang harus Anda pertimbangkan.

Selain itu, plugin ini memungkinkan Anda untuk membuat kondisi dan penggunaan tanpa batas, misalnya, total keranjang, negara penagihan, peran pengguna, dan banyak lagi untuk menentukan gateway pembayaran mana yang ditampilkan dan mana yang tidak.

Plugin Pembayaran Bersyarat WooCommerce

Namun, untuk tutorial singkat ini, saya akan menunjukkan cara menonaktifkan metode pembayaran untuk kategori tertentu menggunakan cuplikan kode PHP.

Langkah-langkah Menonaktifkan Metode Pembayaran untuk Kategori Tertentu Menggunakan Cuplikan Kode PHP

Berikut adalah langkah-langkah sederhana yang perlu Anda ikuti:

  1. Masuk ke situs WordPress Anda dan akses Dasbor sebagai pengguna admin.
  2. Dari menu Dashboard, klik pada Appearance Menu > Theme Editor Menu . Saat halaman Theme Editor terbuka, cari file theme functions dimana kita akan menambahkan fungsi yang akan menonaktifkan metode pembayaran untuk kategori tertentu.
  3. Tambahkan kode berikut ke file php :
 /**
 * @snippet Nonaktifkan Metode Pembayaran untuk Kategori Tertentu
*/


add_filter( 'woocommerce_available_payment_gateways', 'njengah_unset_gateway_by_category' );


function njengah_unset_gateway_by_category( $available_gateways ) {

    if ( is_admin() ) mengembalikan $available_gateways;

    if ( ! is_checkout() ) mengembalikan $available_gateways;

    $tidak disetel = salah;

    $kategori_id = array( 8, 37 );

    foreach ( WC()->cart->get_cart_contents() sebagai $key => $values ​​) {

        $terms = get_the_terms( $values['product_id'], 'product_cat' );   

        foreach ( $term sebagai $term ) {       

            if ( in_array( $term->term_id, $category_ids ) ) {

                $tidak disetel = benar;

                merusak;

            }

        }

    }

    if ( $unset == true ) unset( $available_gateways['cheque'] );

    kembalikan $available_gateways;

}
  1. Ini akan menjadi hasilnya nonaktifkan metode pembayaran untuk kategori tertentu

Ingatlah untuk menambahkan ID kategori yang benar yang ada di toko WooCommerce Anda agar kode ini berfungsi.

Jika Anda tidak suka menggunakan ID Kategori, maka Anda juga dapat menggunakan slug kategori di toko WooCommerce Anda. Anda dapat memilih untuk menggunakannya, karena lebih mudah dipahami untuk referensi di masa mendatang.

Langkah-langkah untuk Menonaktifkan Metode Pembayaran untuk Kategori Tertentu Menggunakan Siput Kategori

  1. Masuk ke situs WordPress Anda dan akses Dasbor sebagai pengguna admin.
  2. Dari menu Dashboard, klik pada Appearance Menu > Theme Editor Menu . Saat halaman Theme Editor terbuka, cari file theme functions dimana kita akan menambahkan fungsi yang akan menonaktifkan metode pembayaran untuk kategori tertentu.
  3. Tambahkan kode berikut ke file php :
 /**

 * @snippet Nonaktifkan gateway pembayaran berdasarkan kategori.

*/

function njengah_disable_payment_gateway_category( $gateways ) {

// Kategori yang akan menonaktifkan gateway pembayaran

$category_slugs = array( 'aksesoris', 'kategori-lain' );

$category_ids = get_terms( array( 'taxonomy' => 'product_cat', 'slug' => $category_slugs, 'fields' => 'id' ) );


// Periksa setiap item keranjang untuk kategori yang diberikan

foreach ( WC()->cart->get_cart() sebagai $item ) {

$produk = $item['data'];

if ( $produk && array_intersect( $category_ids, $product->get_category_ids() ) ) {

unset( $gateways['cod'] ); // Nonaktifkan 'cod' gateway pembayaran ketika produk memiliki salah satu kategori

merusak;

}

}

kembali $gateway;

}

add_filter( 'woocommerce_available_payment_gateways', 'njengah_disable_payment_gateway_category' );
  1. Ini akan menjadi hasilnya nonaktifkan metode pembayaran untuk kategori tertentu

Ingatlah untuk menambahkan siput kategori yang benar dan Anda perlu menentukan gateway pembayaran yang ingin Anda nonaktifkan. Sebagai contoh saya, saya telah menggunakan 'cod' untuk mewakili cash on delivery.

Penting untuk dicatat bahwa pengidentifikasi gateway pembayaran juga perlu diubah ke mana pun yang ingin Anda nonaktifkan ketika kategori yang diberikan ada di troli.

  • Transfer Bank (Bas)
  • Cek (cek)
  • Cash On Delivery (Cod)
  • PayPal (PayPal)

Namun, jika Anda tidak menggunakan salah satu gateway pembayaran default, jangan khawatir, karena masih ada cara mudah untuk mengetahui ID gateway pembayaran. Anda dapat melakukan ini dengan masuk ke halaman pengaturan gateway pembayaran dan Anda akan menemukan ID di sana.

Misalnya untuk opsi Cash on Delivery di halaman pengaturan, ini akan menjadi URL: wp-admin/admin.php?page=wc-settings&tab=checkout&section=cod

Kesimpulan

Dalam posting ini, Anda telah mempelajari cara menonaktifkan Metode Pembayaran untuk Kategori Tertentu menggunakan dua metode. Anda dapat menentukannya menggunakan ID kategori produk atau siput kategori untuk referensi mudah di masa mendatang. Ingatlah untuk menggunakan ID kategori atau slug yang ada di toko WooCommerce Anda untuk menambahkan fungsi ini.

Artikel Serupa