Cara mengecualikan produk WooCommerce dari kupon

Diterbitkan: 2021-11-02

Apakah Anda mencari cara untuk menggunakan kode diskon dengan lebih efisien? Kami punya sesuatu untuk Anda. Dalam panduan ini, kami akan menunjukkan kepada Anda berbagai cara untuk mengecualikan produk WooCommerce dari kupon sehingga diskon tidak berlaku untuk mereka.

Sekarang Black Friday dan Natal semakin dekat, banyak toko online mulai menawarkan penawaran dan promosi. Saat Anda menyiapkan kupon diskon dan membagikannya secara online, Anda ingin memastikan bahwa kupon tersebut tidak membuat penurunan keuntungan yang signifikan. Jika penjualan Anda meningkat 25% tetapi laba per penjualan menurun 50%, Anda lebih baik tidak menawarkan diskon apa pun.

Menemukan keseimbangan yang tepat antara lebih banyak penjualan dan keuntungan per penjualan tidak selalu mudah. Salah satu cara terbaik untuk melakukannya adalah dengan mempertahankan produk tertentu bebas diskon. Anda dapat menggunakan barang-barang diskon tertentu seperti kait dan kemudian mencoba untuk menjual pelanggan Anda dengan produk lain yang tidak memiliki diskon.

Dalam panduan ini, kami akan menunjukkan kepada Anda berbagai cara untuk mengecualikan produk WooCommerce dari kupon , jadi diskon tidak berlaku untuk mereka.

Mengapa Mengecualikan Produk Dari Kupon?

Menggunakan kupon diskon adalah strategi pemasaran umum yang digunakan oleh banyak toko WooCommerce untuk meningkatkan penjualan mereka. Jika digunakan dengan cerdas, diskon bisa bermanfaat untuk bisnis online. Namun, mereka juga dapat menyebabkan penurunan pendapatan jika tidak diterapkan dengan benar dan peningkatan penjualan setidaknya tidak sama dengan penurunan harga.

Selain itu, dengan katalog yang lebih besar, ada juga kemungkinan celah yang dapat dimanfaatkan oleh pelanggan Anda. Misalnya, Anda mungkin tidak ingin menerapkan diskon ke produk paket yang sudah memiliki diskon. Demikian pula, Anda mungkin akan kehilangan uang jika pelanggan menggunakan diskon untuk produk yang sudah memiliki margin tipis.

Itulah mengapa merupakan pilihan yang baik untuk mengecualikan produk WooCommerce tertentu dari kupon diskon. Dengan cara ini Anda dapat membuat kupon dan kode diskon sebanyak yang Anda inginkan sambil memastikan bahwa produk tertentu tidak akan terpengaruh olehnya.

Mari kita lihat bagaimana Anda dapat melakukannya dan alat seperti apa yang dapat Anda gunakan untuk mengecualikan produk dari diskon.

Cara mengecualikan produk WooCommerce dari kupon

Ada dua cara utama untuk mengecualikan produk WooCommerce dari kupon diskon:

  1. Dengan opsi WooCommerce default
  2. Secara terprogram

Mari kita periksa setiap opsi secara lebih rinci.

1) Kecualikan Produk WooCommerce Dari Kupon menggunakan Opsi WooCommerce Default

WooCommerce memberi Anda opsi untuk menonaktifkan kupon khusus untuk produk dan kategori tertentu. Untuk mengakses opsi ini, buka WooCommerce > Kupon di Dasbor Admin WordPress Anda.

Kemudian, buka salah satu kupon yang ingin Anda kecualikan dengan mengeklik Edit di bawah kupon. Kemudian, gulir ke bawah dan buka tab Batasan penggunaan .

kecualikan produk woocommerce dari kupon - tab kupon

Di sini Anda dapat menggunakan opsi Kecualikan Produk dan Kecualikan Kategori untuk mengecualikan produk tertentu dari kupon khusus ini. Cukup ketik nama produk di bidang Kecualikan Produk atau kategori produk di bidang Kecualikan Kategori . Misalnya, jika Anda tidak ingin menerapkan diskon ke Produk 15 dan Bundel Produk, Anda dapat melakukan hal seperti ini.

kecualikan produk woocommerce dari kupon - batasan kupon

Sekarang, kupon khusus ini tidak berlaku untuk produk tersebut . Namun, perhatikan bahwa semua kupon lain yang berlaku untuk item tersebut akan berfungsi kecuali Anda mengulangi proses ini di kupon lainnya.

kecualikan produk woocommerce dari kupon - produk yang dikecualikan

Jika Anda memiliki banyak kupon, proses ini dapat memakan waktu karena Anda harus membuka satu per satu dan menambahkan produk yang ingin Anda kecualikan. Kabar baiknya adalah ada cara yang lebih efisien untuk melakukannya dengan sedikit kode. Mari kita lihat bagaimana Anda dapat mengecualikan produk WooCommerce dari semua kupon secara terprogram.

2) Kecualikan Produk WooCommerce dari Kupon Secara Terprogram

Anda juga dapat mengecualikan produk WooCommerce dari kupon diskon secara terprogram. Keuntungan dari metode ini adalah memberi Anda banyak fleksibilitas untuk memastikan bahwa diskon tidak berlaku untuk item tertentu. Misalnya, Anda dapat menonaktifkan ID produk tertentu untuk kupon atau menambahkan kotak centang ke opsi Data Produk WooCommerce.

Mari kita lihat bagaimana Anda dapat mengaktifkan beberapa opsi ini.

CATATAN : Karena kami akan mengedit beberapa file inti, sebelum memulai, kami sarankan Anda membuat cadangan situs Anda dan menginstal tema anak jika Anda belum memilikinya.

2.1) Kecualikan produk WooCommerce dari kupon menggunakan ID Produk

Salah satu cara termudah untuk mengecualikan produk WooCommerce dari kupon adalah dengan menambahkan cuplikan kode yang menonaktifkan kupon agar tidak berfungsi untuk ID produk tertentu .

Untuk melakukan ini, Anda harus menemukan ID produk terlebih dahulu. Untuk ini, buka Dasbor Admin WordPress Anda, buka Produk dan Anda akan melihat daftar semua produk WooCommerce Anda. Arahkan kursor ke produk yang tidak ingin Anda terapkan diskonnya dan Anda akan melihat ID produk.

kecualikan produk woocommerce dari kupon - ID produk

Tuliskan dan tinggalkan di suatu tempat yang berguna karena Anda akan membutuhkannya untuk langkah berikutnya.

Setelah itu, buka file fungsi Tema Anda dengan menuju ke Appearance > Theme Editor . Kemudian, gunakan sidebar File Tema kanan dan buka file functions.php .

kecualikan produk woocommerce dari kupon - fungsi editor tema

Tambahkan cuplikan kode berikut ke file, tetapi ingat untuk mengganti PRODUCT_ID dengan ID yang sesuai dari produk yang ingin Anda kecualikan.

 add_filter( 'woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4 );
function quadlayers_exclude_product_from_product_promotions( $valid, $product, $coupon, $values ​​) {
// GANTI ID PRODUK (EG 145)
if ( PRODUCT_ID == $produk->get_id() ) {
$valid = salah;
}
kembali $valid;
}

Kode tidak termasuk dari diskon ID produk yang kami tentukan. Misalnya, dalam kasus kami, ID produk adalah 145, jadi cuplikan kodenya adalah:

 add_filter( 'woocommerce_coupon_is_valid_for_product', 'quadlayers_exclude_product_from_product_promotions', 9999, 4 );
function quadlayers_exclude_product_from_product_promotions( $valid, $product, $coupon, $values ​​) {
// ID PRODUK = 145
if ( 145 == $produk->get_id() ) {
$valid = salah;
}
kembali $valid;
} 

Itu dia! Produk yang Anda tentukan akan dikecualikan dari semua kupon Anda. Untuk informasi lebih lanjut tentang ini, lihat situs ini.

2.2) Kecualikan Produk WooCommerce yang Dijual dari kupon diskon

Opsi menarik lainnya adalah mengecualikan produk yang sudah menerapkan diskon dari kode kupon. Misalnya, jika Anda memiliki produk yang sudah dijual, Anda dapat menambahkan skrip untuk memastikan mereka tidak mendapatkan diskon tambahan. Ini sangat berguna ketika Anda memiliki promosi penjualan yang sedang berlangsung di toko Anda dan Anda ingin memastikan bahwa diskon Anda tidak berlaku untuk produk apa pun yang sedang dijual.

Proses untuk ini mirip dengan yang di atas. Cukup buka Appearance > Theme Editor di dasbor admin Anda dan buka file functions.php di sidebar file tema kanan. Kemudian, rekatkan skrip berikut untuk mengecualikan dari diskon semua produk yang sudah dijual.

 add_filter('xa_pbu_skip_product_on_sale','ql_skip_product_on_sale_from_discount',1,2);
function ql_skip_product_on_sale_from_discount($return_val,$pid) { 
$sale_price = get_post_meta( $pid,'_sale_price',true ); 
jika( !kosong($harga_penjualan) ) {
kembali benar; // kecualikan produk ini jika benar
}
kembali $return_val;
} 

mengecualikan produk woocommerce dari kupon - mengecualikan produk dari penjualan

Atau, Anda dapat menggunakan kode berikut untuk mengecualikan produk tertentu yang sudah dijual dari kupon. Cukup ganti ID produk dengan ID Anda.

 add_filter('xa_pbu_skip_product','ql_skip_product_from_discount',1,2);
function ql_skip_product_from_discount($return_val,$pid) {
$pid_to_skip = array(ID PRODUK); // ID Produk untuk dikecualikan
if( in_array($pid,$pid_to_skip)) {
kembali benar; // kecualikan produk ini jika benar
}
kembali $return_val;
}

Jika Anda ingin menambahkan beberapa produk, cukup tambahkan sebanyak yang Anda inginkan dan pisahkan dengan koma. Anda dapat menemukan informasi lebih lanjut tentang itu di sini.

Menambahkan Opsi untuk Mengecualikan Produk WooCommerce Dari Kupon Secara Terprogram

Jika menurut Anda ini adalah sesuatu yang mungkin sering Anda lakukan, melakukan proses di atas setiap saat mungkin bukan hal yang paling nyaman. Dalam hal ini, ada opsi yang lebih efisien. Anda dapat menambahkan fungsi khusus yang menambahkan kotak centang ke backend dan memungkinkan Anda menonaktifkan kupon satu per satu untuk setiap produk.

Anda cukup menambahkan cuplikan ini ke semua item Anda dan kemudian memutuskan produk WooCommerce mana yang ingin Anda kecualikan dari kupon dan kapan. Ini adalah opsi yang menarik karena memungkinkan Anda untuk membuat opsi itu dinamis dengan memilih atau tidak memilih kotak centang itu daripada harus menambah dan menghapus skrip dari file functions.php .

Untuk melakukannya, di dasbor admin Anda, buka Appearance > Theme Editor dan buka file functions.php di sidebar File Tema .

kecualikan produk woocommerce dari kupon - fungsi editor tema

Sekarang lanjutkan dan rekatkan kode ini ke editor:

 // Buat bidang khusus di tab pengaturan umum Produk
add_action( 'woocommerce_product_options_general_product_data', 'ql_add_custom_field_general_product_fields' );
fungsi ql_add_custom_field_general_product_fields(){
global $postingan;

echo '<div class="product_custom_field">';

// Bidang Kotak Centang Produk Khusus
kotak centang woocommerce_wp_(array(
'id' => '_disabled_for_coupons',
'label' => __('Dinonaktifkan untuk kupon', 'woocommerce'),
'description' => __('Nonaktifkan produk ini dari diskon kupon', 'woocommerce'),
'desc_tip' => 'benar',
) );

echo '</div>';;
}

// Simpan bidang khusus dan perbarui semua id produk yang dikecualikan di pengaturan WP
add_action( 'woocommerce_process_product_meta', 'ql_save_custom_field_general_product_fields', 10, 1 );
fungsi ql_save_custom_field_general_product_fields( $post_id ){

$current_disabled = isset( $_POST['_disabled_for_coupons'] ) ? 'ya Tidak';

$disabled_products = get_option( '_products_disabled_for_coupons' );
if( kosong($disabled_products) ) {
if( $current_disabled == 'ya' )
$disabled_products = array( $post_id );
} kalau tidak {
if( $current_disabled == 'ya' ) {
$disabled_products[] = $post_id;
$disabled_products = array_unique( $disabled_products );
} kalau tidak {
if ( ( $key = array_search( $post_id, $disabled_products ) ) !== false )
unset( $disabled_products[$key] );
}
}

update_post_meta( $post_id, '_disabled_for_coupons', $current_disabled );
update_option( '_products_disabled_for_coupons', $disabled_products );
}

// Jadikan kupon tidak valid di level produk
add_filter('woocommerce_coupon_is_valid_for_product', 'set_coupon_validity_for_excluded_products', 12, 4);
function set_coupon_validity_for_excluded_products($valid, $product, $coupon, $values ​​){
if( ! count(get_option( '_products_disabled_for_coupons' )) > 0 ) return $valid;

$disabled_products = get_option( '_products_disabled_for_coupons' );
if( in_array( $product->get_id(), $disabled_products ) )
$valid = salah;

kembali $valid;
}

// Tetapkan jumlah diskon produk ke nol
add_filter( 'woocommerce_coupon_get_discount_amount', 'zero_discount_for_excluded_products', 12, 5 );
function zero_discount_for_excluded_products($discount, $discounting_amount, $cart_item, $single, $coupon ){
if( ! count(get_option( '_products_disabled_for_coupons' )) > 0 ) return $discount;

$disabled_products = get_option( '_products_disabled_for_coupons' );
if( in_array( $cart_item['product_id'], $disabled_products ) )
$diskon = 0;

kembali $diskon;
} 

kecualikan produk woocommerce dari kupon - kecualikan tumpukan produk

Setelah itu, perbarui file. Sekarang mari kita lihat cara menggunakan kotak centang khusus yang baru saja Anda tambahkan.

Menggunakan Fungsi dan Opsi Nonaktifkan Kupon

Buka bagian Produk dan buka produk apa pun yang ingin Anda kecualikan dari kupon. Pada Tab Umum data Produk , Anda sekarang akan melihat opsi baru yang disebut Dinonaktifkan untuk kupon.

Mengaktifkan opsi ini akan mengecualikan produk WooCommerce ini dari kupon diskon. Jika Anda kemudian menghapus centangnya, diskon akan berlaku untuk item ini lagi. Ingatlah untuk menyimpan perubahan dan periksa ujung depan untuk memastikan semuanya berfungsi seperti yang diharapkan.

Kesimpulan

Secara keseluruhan, mengecualikan item tertentu dari diskon adalah alternatif yang baik untuk memaksimalkan pendapatan bahkan saat Anda menawarkan penawaran. Anda mungkin ingin menerapkan diskon untuk produk tertentu tetapi tidak untuk produk lain karena margin Anda sudah cukup tipis atau mereka sudah menerapkan diskon misalnya.

Dalam panduan ini, kami telah melihat berbagai cara untuk melewati dan mengecualikan produk WooCommerce dari kupon:

  • Menggunakan opsi default WooCommerce
  • Secara terprogram mengecualikan produk individual, semua produk, atau hanya item yang dijual menggunakan ID produk
  • Menambahkan skrip khusus untuk menyertakan opsi di backend untuk menonaktifkan kupon untuk produk tertentu

Jika Anda memiliki pertanyaan tentang langkah-langkah ini, beri tahu kami di bagian komentar di bawah dan kami akan melakukan yang terbaik untuk membantu Anda.

Terakhir, jika Anda mencari cara tambahan untuk menyiapkan diskon dan cara terbaik untuk menggunakannya, kami sarankan Anda membaca panduan berikut:

  • Cara menerapkan kupon WooCommerce secara otomatis
  • Cara membuat dan mengatur kupon WooCommerce
  • Buat dan terapkan kupon WooCommerce: Panduan lengkap