Advertisement
Fany_VanDaal

Nakupte ještě za XXX a máte dopravu zdarma!

May 23rd, 2019
632
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.89 KB | None | 0 0
  1. // do dopravy zdarma zbývá
  2. add_action( 'woocommerce_before_cart', 'vandaal_free_shipping_cart_notice_zones' ); // zobrazení hlášky v košíku
  3. add_action( 'woocommerce_before_checkout_form', 'vandaal_free_shipping_cart_notice_zones' ); // zobrazení hlášky v pokladně
  4. add_action( 'woocommerce_before_add_to_cart_button', 'vandaal_free_shipping_cart_notice_zones' ); // zobrazení hlášky na stránce produktu nad tlačítkem Přidat do košíku
  5.  
  6. function vandaal_free_shipping_cart_notice_zones() {
  7.  
  8. global $woocommerce;
  9.  
  10. $default_zone = new WC_Shipping_Zone(0);
  11. $default_methods = $default_zone->get_shipping_methods();
  12.  
  13. foreach( $default_methods as $key => $value ) {
  14. if ( $value->id === "free_shipping" ) {
  15. if ( $value->min_amount > 0 ) $min_amounts[] = $value->min_amount;
  16. }
  17. }
  18.  
  19. $delivery_zones = WC_Shipping_Zones::get_zones();
  20.  
  21. foreach ( $delivery_zones as $key => $delivery_zone ) {
  22. foreach ( $delivery_zone['shipping_methods'] as $key => $value ) {
  23. if ( $value->id === "free_shipping" ) {
  24. if ( $value->min_amount > 0 ) $min_amounts[] = $value->min_amount;
  25. }
  26. }
  27. }
  28.  
  29. if ( is_array($min_amounts) ) {
  30.  
  31. $min_amount = min($min_amounts);
  32.  
  33. $current = WC()->cart->subtotal;
  34.  
  35. if ( $current < $min_amount ) {
  36. // nastylujte si podle potřeby
  37. $added_text = sprintf('<div class="ndz-info-doprava-zdarma"><span class="info-doprava-zdarma"><strong>Nakupte ještě za ', 'woocommerce' ) . wc_price( $min_amount - $current ) . sprintf(' a máte dopravu ZDARMA!</strong></span></div>', 'woocommerce' );
  38. $return_to = apply_filters( 'woocommerce_continue_shopping_redirect', wc_get_raw_referer() ? wp_validate_redirect( wc_get_raw_referer(), false ) : wc_get_page_permalink( 'shop' ) );
  39. // pozor, o řádek výše je odkazováno na permalink shop, je to URL, kterou má stránka obchodu, je tedy potřeba ji upravit tak jak ji máte a nahradit slovo shop například slovem obchod!
  40. $notice = sprintf( '<a href="%s" class="button wc-forward">%s</a> %s', esc_url( $return_to ), esc_html__( 'Pokračovat v nákupu', 'woocommerce' ), $added_text );
  41. wc_print_notice( $notice, 'notice' );
  42. }
  43.  
  44. }
  45.  
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement