Erwin Manalang
Erwin Manalang

Reputation: 347

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?

Upvotes: 1

Views: 2182

Answers (1)

LoicTheAztec
LoicTheAztec

Reputation: 254211

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.

enter image description here

enter image description here

For parent product categories:
Allow backorders and notify customer for parent product categories in Woocommerce

Upvotes: 3

Related Questions