IN woocommerce I'm trying to add some code in functions.php
to allow backorder for specific product categories. But the code doesn't works.
How can I allow backorders and notify customer for specific product categories in Woocommerce?
IN woocommerce I'm trying to add some code in functions.php
to allow backorder for specific product categories. But the code doesn't works.
How can I allow backorders and notify customer for specific product categories in Woocommerce?
Updated
Try the following (where you will set your product category(ies) in the array for each function):
add_filter( 'woocommerce_product_is_in_stock', 'filter_product_is_in_stock', 10, 2 );
function filter_product_is_in_stock( $is_in_stock, $product ){
// Here set the products categories in the array (can be terms ids, slugs or names)
$categories = array("clothing");
if( has_term( $categories, 'product_cat', $product->get_id() ) ){
$is_in_stock = true;
}
return $is_in_stock;
}
add_filter( 'woocommerce_product_backorders_allowed', 'filter_products_backorders_allowed', 10, 3 );
function filter_products_backorders_allowed( $backorder_allowed, $product_id, $product ){
// Here set the products categories in the array (can be terms ids, slugs or names)
$categories = array("clothing");
if( has_term( $categories, 'product_cat', $product_id ) ){
$backorder_allowed = true;
}
return $backorder_allowed;
}
add_filter( 'woocommerce_product_backorders_require_notification', 'filter_product_backorders_require_notification', 10, 2 );
function filter_product_backorders_require_notification( $notify, $product ){
// Here set the products categories in the array (can be terms ids, slugs or names)
$categories = array("clothing");
if( has_term( $categories, 'product_cat', $product->get_id() ) ){
$notify = true;
}
return $notify;
}
Code goes in function.php file of your active child theme (or active theme). Tested and works.
For parent product categories:
Allow backorders and notify customer for parent product categories in Woocommerce