• Resolvido psoutas

    (@psoutas)


    Bom dia !
    Estou a construir uma loja online de grande dimensão e deparei-me com um pequeno erro que não consigo resolver. Trata-se do seguinte, os produtos da loja em questão utilizam 4 casas decimais e os preços finais e subtotal do carrinho aparecem também com 4 casas decimais.
    Exemplo : produto1 = 0,0246€ e se eu adicionar 1000 unidades ao carrinho irá aparecer no carrinho como preço final 24,6000.
    Se alguém souber como posso retirar os dois últimos zeros ou adicionar uma virgula nos últimos 2 zeros mais á direita do preço final e subtotal do carrinho ficaria agradecido.
    obs: Já tentei utilizar funções PHP e Java script para esconder ou remover os zeros mas até agora não consegui.

A visualizar 4 respostas - de 1 a 4 (de um total de 4)
  • Moderador Rui Cruz

    (@ruicruzpt)

    Vê esta documentação, na parte do default values: https://woocommerce.com/document/foosales-for-woocommerce/decimal-quantities/

    Acho que se calhar tens umas casas decimais a mais aí. Podes confirmar?

    Thread Starter psoutas

    (@psoutas)

    O Artigo em questão é para o foosales, como estou a utilizar apenas o woocommerce não tenho essas opções.

    Existe alguma outra localização para as casas decimais dos preços finais dos produtos?

    Criei esta função PHP mas ela apenas me retira os zeros da parte do total e subtotal do finalizar compras, da parte “order summary” do carrinho continua. Aceito todos os hints que ja estou a dar voltas à cabeça 🙂

    add_filter( 'woocommerce_cart_subtotal', 'custom_cart_subtotal', 10, 3 );
    add_filter( 'woocommerce_cart_totals_order_total_html', 'custom_order_total', 10, 1 );
    add_filter( 'woocommerce_cart_subtotal_html', 'custom_cart_subtotal_html', 10, 3 );
    
    function custom_cart_subtotal( $subtotal, $compound, $cart ) {
        // Remove os zeros extras e formata o subtotal
        $subtotal = number_format( $cart->subtotal, 2, '.', '' );
        return $subtotal;
    }
    
    function custom_order_total( $order_total ) {
        global $woocommerce;
        // Remove os zeros extras e formata o total do pedido
        $order_total = number_format( $woocommerce->cart->total, 2, '.', '' );
        return $order_total;
    }
    
    function custom_cart_subtotal_html( $subtotal, $compound, $cart ) {
        // Remove os zeros extras e formata o subtotal no formulário do carrinho
        $subtotal_html = number_format( $cart->subtotal, 2, '.', '' );
        return $subtotal_html;
    }
    
    • Esta resposta foi modificada há 9 meses, 2 semanas por psoutas.
    Moderador Rui Cruz

    (@ruicruzpt)

    Já experimentaste contactar um programador para ajudar nesta situação?

    Thread Starter psoutas

    (@psoutas)

    Acontece que sou eu o programador ;), mas posso tentar obter mais opiniões de outros colegas claro.

A visualizar 4 respostas - de 1 a 4 (de um total de 4)
  • O tópico ‘Erro site wordpress’ está fechado a novas respostas.