Currently it isn’t possible to tie a gift card to a specific product directly in the plugin. This is a feature we are looking to add in a future release but you can implement this right now by using the pwgc_eligible_cart_amount hook.
Note: if you prefer to edit your functions.php directly you can do that instead of the Code Snippets plugin.
1. Download the free Code Snippets plugin: https://ww.wp.xz.cn/plugins/code-snippets/
2. Create a new Snippet with the following code:
function custom_pwgc_eligible_cart_amount( $eligible_amount, $cart ) {
//
// Set this to the Product IDs of the eligible products. Remove the numbers if all products are eligible.
//
$eligible_product_ids = array();
//
// Set this to the Product IDs of the ineligible products. Remove the numbers if all products are NOT eligible.
//
$ineligible_product_ids = array();
foreach( WC()->cart->get_cart() as $cart_item ) {
$valid_product = true;
if ( in_array( $cart_item['product_id'], $ineligible_product_ids ) ) {
$valid_product = false;
}
if ( !empty( $eligible_product_ids ) && !in_array( $cart_item['product_id'], $eligible_product_ids ) ) {
$valid_product = false;
}
if ( !$valid_product ) {
$eligible_amount -= $cart_item['line_total'];
}
}
return max( 0, $eligible_amount );
}
add_filter( 'pwgc_eligible_cart_amount', 'custom_pwgc_eligible_cart_amount', 10, 2 );
Depending on your needs you can set the Eligible Product IDs to pick a few products that can be purchased, or set the Ineligible Product IDs to block out a few products that are not allowed to be purchased with a gift card.
The code will still allow the product(s) to be purchased, it just prevents the amounts from being paid by the gift card balance.
Let me know if you have any questions!
Thanks for that “fastest response ever”! LOL
I’ll give the code a shot, cheers.
Great plugins, BTW- this and especially the PW Bulk Edit; fast and works like it should!
Quick question, for multiple product IDs am I separating with a comma or semi-colon?
Comma. For example:
$ineligible_product_ids = array( 10, 32, 393 );
Ah, good…right the first time.
Cheers!
Glad to hear that helped, I’m marking this thread as resolved but let me know if you have any other questions.
Best of luck with your store!