WooCommerce poskytuje veľké množstvo rôznych akcií – hook (akcie sa spúšťajú vo fáze prebiehajúceho procesu) a filtrov – filter (umožňujú modifikovať výsledok procesu) v PHP a tiež v JavaScripte eventy a triggre (JavaScript udalosti, ktoré je možné odchytiť a následne vykonať vlastný kód a spúšťače udalostí na stránke pokladne). V tomto článku, sa pozrieme na pár JavaScript udalostí a spúšťačov pokladne.
jQuery( 'form.checkout' ).on( 'checkout_place_order', function() {
console.log( 'Odoslanie objednávky sa pripravuje ...' );
// sem môžeš pridať svoj vlastný kód na spracovanie udalosti
return true; // ak chcete pokračovať v odosielaní objednávky
return false; // ak chcete prerušiť odosielanie objednávky
});
# Event, ktorý sa spúšťa po každej aktualizácii údajov
jQuery( document.body ).on( 'updated_checkout', function() {
console.log( 'Pokladňa bola aktualizovaná' );
// sem môžeš pridať svoj vlastný kód na spracovanie udalosti
} );
# Event, ktorý sa spustí pri chybe v pokladni
jQuery( document.body ).on( 'checkout_error', function() {
console.log( 'V pokladni sa vyskytla chyba' );
// sem môžeš pridať svoj vlastný kód na spracovanie udalosti
} );
# Event, ktorý sa vyvolá po zmene krajiny
jQuery( document.body ).on( 'country_to_state_changed', function() {
console.log('Udalosť country_to_state_changed sa vyvolala.');
// sem môžeš pridať svoj vlastný kód na spracovanie udalosti
} );
# Event, ktorý sa vyvolá pri aktualizácii, keď je zvolená platba
jQuery( document.body ).on('payment_method_selected', function() {
console.log('Udalosť payment_method_selected sa vyvolala.');
// sem môžeš pridať svoj vlastný kód na spracovanie udalosti
} );
# Event, ktorý sa vyvolá, pri pridaní kupónu v pokladni
jQuery( document.body ).on( 'applied_coupon_in_checkout', function( event, coupon ) {
console.log( 'Udalosť applied_coupon sa vyvolala.' );
// sem môžeš pridať svoj vlastný kód na spracovanie udalosti
} );
# Event, ktorý sa vyvolá, pri odstránení kupónu v pokladni
jQuery( document.body ).on( 'removed_coupon_in_checkout', function( event, coupon ) {
console.log( 'Udalosť removed_coupon sa vyvolala.' );
// sem môžeš pridať svoj vlastný kód na spracovanie udalosti
} );
# Spúšťač (trigger), ktorý spustí aktualizáciu pokladne
jQuery( document.body ).trigger( 'update_checkout' );
# Ak potrebujete odoslať objednávku JavaScriptom
jQuery( 'form.checkout' ).submit(); // vyvolá odoslanie objednávky
V kóde je použitý jQuery spúšťač udalostí submit().
Toto sú asi najpoužívanejšie eventy a triggre v pokladni. Podobné eventy a triggre sú aj v košíku, alebo iných častiach WooCommerce, kde sa požiadavka spracováva pomocou AJAX.

