Получить значения атрибутов товара из товаров в Woocommerce - PullRequest
0 голосов
/ 21 ноября 2018

Мне нужно изменить вес товара после добавления его в корзину.Вес зависит от атрибута продукта "Quantite-Avec-Fenetre".

На основе Изменение веса товаров в корзине для обновления стоимости доставки в Woocommerce , я пытаюсь использовать следующую функцию в файле functions.php моей темы:

add_action( 'woocommerce_before_calculate_totals', 'add_custom_weight', 10, 1);
function add_custom_weight( $cart_object ) {

    foreach ( $cart_object->get_cart() as $cart_item ) {
         //very simplified example - every item in cart will be 100 kg
        $attr = $cart_item['data']->get_attributes();
        if ($cart_item['data']->get_SKU() == "PSP229AFSF") {
            $qtySF = $attr["pa_quantite-sans-fenetre"];
            $qtyAF = $attr["pa_quantite-avec-fenetre"];
            var_dump($attr);
            //echo $qtyAF;
            //echo $qtySF;

            //echo "oll";
        }
        //echo $attr["pa_impressiont"];
        //$cart_item['data']->set_weight( 0.001 );
    }
    // Testing: cart weight output
}

Эхо и вещи, которые выглядят странно, просто для теста.Таким образом, это показывает с var_dump все атрибуты каждого продукта моей корзины (у которых есть SKU PSP229AFSF).

Проблема в том, что я устанавливаю атрибут, добавляю в корзину, в корзине я атрибут с хорошим значением, но он var_dump возвращает мне это:

array(7) { 
["pa_impression"]=> string(15) "sans-impression"
["pa_impressionrecto"]=> string(11) "1couleurpms"
["pa_impressionverso"]=> string(12) "sansimpverso"
["pa_fichierimpr"]=> string(12) "designertool" ["pa_bat"]=> string(3)
"non" ["pa_quantite-avec-fenetre"]=> string(0) ""
["pa_quantite-sans-fenetre"]=> string(0) "" }

Как видите, атрибуты "pa_quantite-avec-fenetre" и "pa_quantite-sans-fenetre" пусты.

Это то, что показывает моя корзина (скриншот корзины):

Image of cart

Таким образом, атрибут хорошо установлен в корзине, нокажется, он недоступен в $cart_item.

Я пробовал без плагинов, которые могут повлиять на атрибут, тот же эффект, есть идеи, откуда это взялось?

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