Svuotare tutti i carrelli degli utenti in WooCommerce automaticamente ad un orario preciso

Può capitare anche questo, il fatto di voler svuotare tutti i carrelli degli utenti del sito in WooCommerce. Questo può servire per svariati motivi ad ognuno di noi, per esempio per snellire il database di WooCommerce o semplicemente perché non vogliamo che l’utente possa ritrovarsi prodotti non più diponibili sul suo carrello.

Partiamo dalla funzione, che se eseguita, permette di cancellare tutti i carrelli dal sito web, attualmente in pancia agli utenti. L’azione è irreversibile.

Mettiamo questa funzione dentro al nostro file functions.php o dove preferite.

https://gist.github.com/miniMAC/a6e5c2e533fca6d4d6ce14788dfb9d97

Automatizzare la funzione

La prima cosa da fare è aggiungere un cronjob dedicato che possa essere richiamato ogni minuto.

https://gist.github.com/miniMAC/77c46767efdd52ffc2ca378eb5bf170f

Il concetto è quello di controllare ogni minuto la presenza dell’orario stabilito e con uno scarto di 1 secondo in più rispetto al minuto, effettuare un controllo nel tempo passato e futuro.

Fatto questo dobbiamo creare un cron job che possa richiamare a sua volta la funzione che andrà a svuotare tutti i carrelli

https://gist.github.com/miniMAC/9b6f686aa8204a46e174f24a41e019eb

Setto ora la vera azione e la collego al cron

https://gist.github.com/miniMAC/3994dc92a584950c8502a3e4f2627026

Sul vostro server settate il richiamo del cron che va fatto in questo modo dal vostro pannello di controllo, in base al vostro hosting e server, per esempio:

https://gist.github.com/miniMAC/dda98fd0ec2cbb4321ecdce8a534c995

Ogni minuto verrà eseguito il cron e andremo ad accertarci che tutto sia corretto tramite il controllo condizionale del tempo.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *