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.