All Articles

Make product purchasable based on the vendor opening and closing time in dokan plugin

You have a multi-vendor eCommerce website on WordPress with WooCommerce and Dokan plugins. There may time when you want to make the products purchasable based on the opening and closing time of the store.

<?php
/**
* Hide or display add to cart button based on opening hours.
*/
function prefix_woocommerce_is_purchasable( $is_purchasable, $product ) {
// Get the store id.
$store_id = get_post_field( 'post_author', $product->get_id() );
// Get the store info.
$store_info = dokan_get_store_info( $store_id );
// Get the store time enabled or not.
$is_dokan_store_time_enabled = $store_info['dokan_store_time_enabled'];
// If the store time is enabled, check whether the store is open or not.
// Else the store is open.
if ( 'yes' === $is_dokan_store_time_enabled ) {
$is_purchasable = dokan_is_store_open( $store_id );
} else {
$is_purchasable = true;
}
return $is_purchasable;
}
add_filter( 'woocommerce_is_purchasable', 'prefix_woocommerce_is_purchasable', 10, 2 );