Dine fag
  • No products in the cart.
0
/** * Bygger rabattmeldingen. Returnerer tom streng når det ikke er noe å si. * Eneste sted rabattrinnene er definert. */ function kublakan_rabattmelding_html() { if ( ! function_exists( 'WC' ) || ! WC()->cart ) { return ''; } $antall_fag = 0; foreach ( WC()->cart->get_cart() as $cart_item ) { if ( has_term( 'fag', 'product_cat', $cart_item['product_id'] ) ) { $antall_fag += $cart_item['quantity']; } } if ( $antall_fag < 1 ) { return ''; } // trinn => rabatt i prosent $trinn = array( 3 => 5, 4 => 10, 5 => 15, 6 => 20 ); $neste_trinn = null; $neste_rabatt = null; foreach ( $trinn as $t => $rabatt ) { if ( $antall_fag < $t ) { $neste_trinn = $t; $neste_rabatt = $rabatt; break; } } if ( ! $neste_trinn ) { return ''; } $mangler = $neste_trinn - $antall_fag; $melding = sprintf( 'Legg til %d fag til og få %d %% rabatt!', $mangler, $neste_rabatt ); return '
' . esc_html( $melding ) . '
'; } /** * Kurvsiden og kassen — som før. */ add_action( 'woocommerce_before_cart', 'kublakan_rabattmelding_skriv' ); add_action( 'woocommerce_before_checkout_form', 'kublakan_rabattmelding_skriv' ); function kublakan_rabattmelding_skriv() { echo kublakan_rabattmelding_html(); // phpcs:ignore WordPress.Security.EscapeOutput } /** * Sidepanelet — meldingen som kurv-fragment, så den oppdateres med kurven. * Beholderen .kublakan-rabatt-panel settes inn av 06-kurvpanel-skript.html. */ add_filter( 'woocommerce_add_to_cart_fragments', 'kublakan_rabattmelding_fragment', 20 ); function kublakan_rabattmelding_fragment( $fragments ) { $fragments['div.kublakan-rabatt-panel'] = '
' . kublakan_rabattmelding_html() . '
'; return $fragments; }