Někteří zákazníci si objednají zboží na dobírku a nepřevezmou jej. Pokud vám chtějí škodit, nebo jim nechcete posílat další zásilky, pomůže vám jednoduchý snippet, který je zablokuje.
Postup je následující – máte pole e-mailů, které chcete banovat a při zpracování pokladny je zkontrolujete a pokud tak e-mail bude, nedokončíte objednávku. Ta se ani nevytvoří, takže se vám nezkreslují statistiky, negenerují faktury a podobně.
Snippet je jednoduchý:
add_filter( ‚woocommerce_before_checkout_process‘, ‚disable_order_for_banned_user‘ );function disable_order_for_banned_user() {
$banned_emails = array( ‚musilekv@seznam.cz‘, ‚musilda@musilda.cz‘ ); if ( !empty( $_POST[‚billing_email‘] ) && in_array( $_POST[‚billing_email‘], $banned_emails ) ) { throw new Exception( __( ‚Velice se omlouváme, ale máme technické problémy, pokud chcete objednat, kontaktujte nás telefonicky.‘, ‚musilda‘ ) );
}
}
Výsledek:
Tento postup jsem zvolil ze dvou důvodů – kontrolovat zadaný e-mail pomocí js není na 100% jisté a když zákazníkovi ukáži technickou chybu, tak si nemůže stěžovat, že banuji konkrétně jeho.