WooCommerce – Verkkokaupan aukiolon ajastaminen

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp
Share on email
Email

Seuraava koodinpätkä toimii erinomaisesti esimerkiksi ravintoloille jotka haluavat myydä ruokaa ulos ainoastaan ravintolan aukioloaikoina verkkokaupastaan.

Koodin tarkoituksena on ajastaa WooCommerce verkkokaupan toiminta siten, että käyttäjät voivat tilata tuotteita vain tiettyinä kellonaikoina ja päivinä.

Aukioloajat merkataan koodiin muodossa TUNNIT, MINUUTIT, SEKUNNIT. Jos kauppa on esimerkiksi auki klo 7 – 15 niin merkataan aukioloaikoihin vain 7 00 00 ja 15 00 00.

Ensimmäisessä $weekdays_open taulukossa asetetaan arkipäivien aukiolot. Jos haluat esimerkiksi, että kauppa on suljettuna keskiviikkoisin, yksinkertaiseti poista ‘Wed’ taulukosta.

Seuraavaksi $weekends_open taulukko määrittää viikonloppujen aukioloajat, eli jos haluat, että kauppa on auki lauantain lisäksi sunnuntaina tulee sinun lisätä koodissa “, ‘Sun’ ” sen sisälle, jolloin koko koodi on $weekends_open = array( ‘Sat’ , ‘Sun’ );

Tämän jälkeen yksinkertaisesti katsotaan onko kauppa auki vai ei ja palautetaan WooCommercelle muuttuja $purchasable, joka kertoo ovatko tuotteet ostettavissa vai eivät. Jos asiakkaalla on ostoskorissa tuotteita poistetaan myös ne ostoskorista kokonaan.

Jotta asiakkaat eivät täysin hämmentyisi, miksi eivät voi ostaa tuotteita annetaan heille virhe ilmoitus kaupan ollessa suljettuna ja kerrotaan, että he voivat tilata tuotteita tiettynä päivänä tiettyyn kellon aikaan.

Koodi valmiina käyttöönottoa varten

/*
*
* Kaupan aukioloajan hallinta
* v1.1
* Author: Mainostoimisto Aate
* Website: https://aate.fi
*
*/

// Funktio joka palauttaa true / false sen mukaan onko kauppa auki vai ei
function is_store_open() {
    // Set Your shop time zone (http://php.net/manual/en/timezones.php)
    date_default_timezone_set('Europe/Helsinki');
	

    // Alla kaupan aukioloajat
	$weekdays_open = array( 'Mon', 'Tue', 'Wed', 'Thu', 'Fri' ); // Arkipäivät jolloin auki
	$weekends_open = array('Sat'); // Viikonlopun päivät jolloin auki
	if ( in_array( date( 'D' ), $weekdays_open ) ) { 
		$start_time = mktime('09', '00', '00', date('m'), date('d'), date('Y')); // 09:00:00
		$end_time   = mktime('20', '00', '00', date('m'), date('d'), date('Y')); // 20:00:00
		$now        = time(); // Current timestamp in seconds
		
		return ( $now >= $start_time && $now <= $end_time ) ? true : false;
	}	
	elseif ( in_array(date('D'), $weekends_open ) ) { 
		$start_time = mktime('14', '00', '00', date('m'), date('d'), date('Y')); // 14:00:00
		$end_time   = mktime('20', '00', '00', date('m'), date('d'), date('Y')); // 20:00:00
		$now        = time(); // Current timestamp in seconds
		
		return ( $now >= $start_time && $now <= $end_time ) ? true : false;
	}
	else {
		return false;
	}
}

// Estä ostaminen kun kauppa on suljettu
add_filter( 'woocommerce_variation_is_purchasable', 'disable_purchases_on_shop', 10, 2 );
add_filter( 'woocommerce_is_purchasable', 'disable_purchases_on_shop', 10, 2 );
function disable_purchases_on_shop( $purchasable, $product ) {
    // Estetään ostot kun kauppa on kiinni.
    if( ! is_store_open() )
        $purchasable = false;

    return $purchasable;
}


add_action( 'template_redirect', 'closing_shop_notice' );
function closing_shop_notice(){
    if ( ! ( is_cart() || is_checkout() ) && ! is_store_open() ) {
        // Store closed notice
		$weekdays_open = array( 'Mon', 'Tue', 'Wed', 'Thu', 'Fri' ); // Arkipäivät jolloin auki
		$weekends_open = array('Sat'); // Viikonlopun päivät jolloin auki
		if (in_array(date('D'), $weekdays_open)) {
			$time = "09:00";
			wc_add_notice( __("Verkkokauppamme aukeaa kello " . $time . " - Voit tilata tuotteita verkkokaupastamme klo 9 - 20."), 'error' );
		}
		elseif (in_array( date('D'), $weekends_open)) {
			$time = '14:00';
			wc_add_notice( __("Verkkokauppamme aukeaa kello " . $time . " - Voit tilata tuotteita verkkokaupastamme klo 14 - 20."), 'error' );
		}
		else {
			wc_add_notice( __("Verkkokauppamme aukeaa maanantaina klo 09:00."), 'error' );
		}
    }
}

Koodin ja sen selitteen tekijä on Toni Manninen Mainostoimisto Aatteelta.

Kun kaipaat verkkosivuston tai verkkokaupan toteuttajaa? Ota yhteyttä https://aate.fi/verkkosivut ja kysy lisää!

Jaakko Pöntinen

Jaakko Pöntinen

Yrittäjä for life. Välillä onnistuen, välillä epäonnistuen. Sitte masiksen kautta taas jotenki raiteille! Ja kahvinkeittimen.

Kommentit

2 kommenttia artikkeliin ”WooCommerce – Verkkokaupan aukiolon ajastaminen”

Vastaa

Me ollaan Suomen suurin WordPressiin ja WooCommerceen erikoistunut Facebook-ryhmä, joka käyttää WordPressiä ja WooCommercea bisnekseen päivittäin. Ryhmässä on tällä hetkellä yli 2220 jäsentä ja kasvetaan päivittäin isommaksi!

Ryhmän perustarkoitus ja ajatus on yhdistää suomalaisia osaajia toisiinsa ja ratkaisemaan haasteita, joita voi tulla vastaan välillä.

Ryhmästä löytyy niin aloittelijoita, ison bisneksen pyörittäjiä tuhansilla tuotteilla, aloittelevia koodareita, edistyneempiä koodareita kuin myös parhaat Suomalaiset WordPress webhotellipalveluntarjoajia.

Ryhmästä löydät keskusteluita ja ratkaisuja tämänpäivän polttaviin kysymyksiin. Tietoutta veroista, GDPR / Tietosuojaseloste asioista ja paljon muusta. Jos, et vielä kuulu WPWOOFIIN. Klikkaat tästä!

Ole ystävällinen ja kohtelias

Yhdessä me kaikki luomme viihtyisää ympäristöä. Kohdellaan kaikkia kunnioittaen. Väittely on luonnollista, mutta ystävällisyyttä vaaditaan :)

Ei vihapuhetta tai kiusaamista

Varmista, että kaikilla on turvallinen olo. Minkäänlaista kiusaamista ei sallita, ja loukkaavia kommentteja esimerkiksi rodusta, uskonnosta, kulttuurista, seksuaalisesta suuntautumisesta, sukupuolesta tai identiteetistä ei hyväksytä.

Ei epäolennaista markkinointia tai roskapostia

Anna ryhmään enemmän kuin saat. Epäolennainen markkinointi, roskaposti ja linkit ovat kiellettyjä. Kotisivujen ja verkkokauppojen suunnittelu, optimointi ja ylipäätään bisneksen teko WordPressin avulla on ryhmäläisten suuri kiinnostuksen kohde :) YP:ltä voi kysyä onko tämä OK.

Ei kuvattomia profiileita / feikki profiileita

Emme hyväksy ryhmään kuvattomia FB profiileita tai selviä feikkiprofiileita. Pidäthän huolen että edes jonkin verran julkisia päivityksiä näkyy jotta voimme varmistaa ihmisyytesi :)

Skyverge woocommerce pluginit
WooCommerce

SkyVergen WooCommerce-osaamista – ilmaiseksi

SkyVerge on WooCommerce-lisäosien kehittäjä. Merkittävä osa WooCommercen omassa plugin-kaupassa olevasta tarjonnasta on SkyVergen kehittämää. Eihän tuollainen status toki ilmaiseksi heltiä,

%d bloggaajaa tykkää tästä: