Как исключить комиссию с определенных продуктов в WooCommerce? - PullRequest
0 голосов
/ 12 января 2019

Я пытался найти плагин на WordPress, который бы добавлял плату к определенным товарам или категориям товаров в WooCommerce, но мне не повезло, я играл с этим кодом, который работал для меня

Это делает то, что нужно, добавляя плату за каждый товар. Но теперь мне нужно, чтобы исключить плату из определенных идентификаторов продукта.

Это решение, которое я нашел здесь для добавления сборов на все товары. Я не могу заставить его работать, чтобы исключить себя из конкретного ID продукта. Спасибо за любую помощь, спасибо.

/** add handling fee **/
function df_add_handling_fee( $cart_object ) {

global $woocommerce;
// $specialfeecat = 3711; // category id for the special fee
$spfee = 0.00; // initialize special fee
$spfeeperprod = 3.99; //special fee per product

//Getting Cart Contents. 
$cart = $woocommerce->cart->get_cart();
//Calculating Quantity
foreach($cart as $cart_val => $cid){
   $qty += $cid['quantity']; 
}
foreach ( $cart_object->cart_contents as $key => $value ) {

    $proid = $value['product_id']; //get the product id from cart
    //$quantiy = $value['quantity']; //get quantity from cart
    $itmprice = $value['data']->price; //get product price

    $terms = get_the_terms( $proid, 'product_cat' ); //get taxonamy of the prducts
    if ( $terms && ! is_wp_error( $terms ) ) :
        foreach ( $terms as $term ) {
            //$catid = $term->term_id;
            //if($specialfeecat == $catid ) {
                $spfee = $qty * $spfeeperprod;
            //}
        }
    endif;  
}

if($spfee > 0 ) {

    $woocommerce->cart->add_fee( 'Extra Fee', $spfee, false, 'standard' );
}

}

add_action( 'woocommerce_cart_calculate_fees', 'df_add_handling_fee' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...