Popust na 2 ili više proizvoda iz iste kategorije.

Potrebno je bilo složiti da na dva ili više proizvoda iz iste kategorije se doda neki popust u postocima. Snipet uzima ukupnu cijenu svih proizvoda iz iste kategorije te izračunava popust samo ako u košarici ima više od dva proizvoda.

Primjer prikazuje da su u košaici dva proizvoda iz različitih kategorija, a samo na kategoriju "slikovnica" se računa popust.

popust na dva ili više proizvoda iste kategorije
add_action( 'woocommerce_cart_calculate_fees', 'add_discount_for_slikovnica_category' );
function add_discount_for_slikovnica_category( $cart ) {

    if ( is_admin() && ! defined( 'DOING_AJAX' ) ){return;}

	$discount = 50; $category = 'slikovnica';
    $total = 0; $count = 0;

    foreach ( $cart->get_cart() as $cart_item ) {
        $product_categories = get_the_terms( $cart_item['product_id'], 'product_cat' );
        foreach ( $product_categories as $product_category ) {
            if ( $product_category->slug == $category ) {
                $total += $cart_item['line_total'];
                $count = $count + $cart_item['quantity'];
            }
        }
    }

    if ( $count >= 2 ) {
        $discount_amount = ( $total * $discount ) / 100;
        $cart->add_fee( 'Popust na '.$count.' slikovnice ('.$total.' - ' . $discount . '%)', -$discount_amount );
    }
}
Get full Code Editor experience inside WordPress with support to write PHP hooks and functions, JavaScript, CSS, and compile SCSS.
Scripts Organiser
Recoda Codesense is set of the custom CodeMirror integrations with Oxygen builder to have the best code writing experience inside Oxygen Builder.
ReCoda
cross