Make Products Available only on specific days of week

Here is an example on how to make products unavailable all the days except from some days depending on the product category.

On the following example we are making the products with Category Name “FANCY MENU” to be available only on Tuesday and Wednesday

You can copy the following code under your functions.php and adjust it to your needs

function wpslash_woofood_enable_product_specific_days( $purchasable, $product ){
	
$product_id =$product->get_id();
	if ( $product->is_type('variation') ){
        $product_id = $product->get_parent_id();
    } 

	
        $terms = get_the_terms( $product_id, 'product_cat' );
	$product_categrories = array();
	foreach ($terms as $term) {
    $product_categrories[] = $term->name;
   
}
if(in_array("FANCY MENU", $product_categrories)  )
{
	if(date('l') =="Tuesday" ||date('l') =="Wednesday" )
	{
			return true;
	}
	else
	{
		return false;


	}

}
	  else
	  {
		  	  return true;


	  }
	 
return true;
}
add_filter( 'woocommerce_is_purchasable', 'wpslash_woofood_enable_product_specific_days', 99, 2 );
add_filter( 'woocommerce_variation_is_purchasable', 'wpslash_woofood_enable_product_specific_days', 99, 2 );