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 );