Suporte » Plugins » Plugin Woocommerce

  • Bom dia pessoas humanas,
    estou desenvolvendo um plugin pra avaliar a disponibilidade do produto baseado em geolocalização, nessa validação também faço alteração do preço do produto.
    A questão é, quando o cliente lista os produtos os valores já foram alterados segundo a cidade do cliente, toda via o método add_to_cart:
    public function add_to_cart( $product_id = 0, $quantity = 1, $variation_id = 0, $variation = array(), $cart_item_data = array() )
    recebe apenas o id do produto, busca os dados no banco e insere na global @$woocommerce. Pois bem, como esse valor que vem do banco é o default tenho que rodar uma function que altere o preço com base no valor para a cidade do cliente, a function abaixo.
    add_action(‘woocommerce_before_cart’, ‘zipcode_cart_price_product’);
    function zipcode_cart_price_product()
    {
    global $woocommerce;
    $cartProducts = $woocommerce->cart->get_cart();
    foreach ($cartProducts as $cartProduct ){
    $product = $cartProduct[‘data’];
    if(!$product->is_virtual()){
    $newPrice = 77; // for test
    $product->adjust_price($newPrice);
    }
    }
    $calculateTotals = $woocommerce->cart->calculate_totals();
    }
    Até ai tudo beleza, quando o cliente abre o carrinho, a lista de produtos está com o preço correto, o total também,
    Entretanto quando passo para finalizar a compra, os dados voltaram ao valor default. O carrinho é sempre atualizado a cada etapa, mantendo apenas o id para consulta e quantidade?
    Outra dúvida, quando acesso “Finalizar Compra” a lista de produtos e os meios de pagamento ficam com um loading que não some, alguém pode me ajudar nisso tb?

  • O tópico ‘Plugin Woocommerce’ está fechado para novas respostas.