Adicionar 10% em cada parcela
-
Boa tarde, obrigado pelo plugin, gostaria de saber se é possível adicionar 10% de taxa em cima de cada parcela, no pagamento sem juros.
Enviei uma outra pergunta mais detalhada para você, mas o wordpress passou para modera??o, caso seja possível, apenas me indique a linha que eu efetuo a altera??o.
-
This topic was modified 4 years, 6 months ago by
Jorge Luiz.
-
This topic was modified 4 years, 6 months ago by
-
A fun??o abaixo exibe o valor no loop de produtos, mas como eu posso fazer para aparecer tanto no loop, carrinho de compras e página individual do produto? Desde já agrade?o.
/*
* Exibe na tela o resultado do calculo no loop dos produtos
*/
public function woo_product_parceled_loop() {$args = array();
$product = wc_get_product();
$pagseguro_settings = get_option( ‘woocommerce_pagseguro_settings’ );if( isset( $pagseguro_settings[‘pagseguro_parceled_enabled’] ) && $pagseguro_settings[‘pagseguro_parceled_enabled’] == “yes” ) {
if ( isset( $pagseguro_settings[‘installment’] ) && $pagseguro_settings[‘installment’] > 0 && wc_get_price_including_tax( $product, $args ) > 0 ) {
echo “<style>” . $pagseguro_settings[‘code_css_archive_product’] . “</style>”;if ( $pagseguro_settings[‘sales_up’] > wc_get_price_including_tax( $product, $args ) ) {
$pagseguro_settings[‘installment’] = 1;
}
?>
<div class=”p-woo-pagseguro-price”>
<div class=”p-woo-pagseguro-installment”>
<?php
if (wc_get_price_including_tax($product, $args) > $pagseguro_settings[‘minimum_installment’] ) {
$woo_product_parceled_installment = $this->woo_product_parceled_installment( $pagseguro_settings[‘installment’], wc_get_price_including_tax($product, $args ) );
} else {
$woo_product_parceled_installment = 1;
}
printf(__(‘Ou em até <span>%sx</span> de <span>%s</span>’, ‘woo-pagseguro-parceled’ ), $woo_product_parceled_installment, $this->woo_product_parceled() ); ?><br/>
<?php _e(‘Sem Juros – PagSeguro’, ‘woo-pagseguro-parceled’ ); ?>
</div>
<?php
var_dump($pagseguro_settings);
?>
</div>
<?php
}
}}
também tentei adicionar nessa linha:
return wc_price( wc_get_price_including_tax( $product, $args ) / $pagseguro_settings[‘installment’] ) * is_numeric($taxa); a taxa de 1.1 ao qual é o fator de multiplica??o.
Bom se puder me ajudar fico grato.
@smithexe
Acredito que vc pode fazer altera??o na fun??o *woo_product_box_parceled_single_product*, linha 276, do arquivo woo-pagseguro-parceled.php.Obrigado pela velocidade da sua resposta, irei tentar aqui.
Eu preciso alterar o single ao qual pertence a fun??o:
woo_product_box_parceled_single_producte no loop do woocommerce ao qual pertence a fun??o:
woo_product_parceled_loop
também vou ter que incluir 10% nos produtos do mercado livre.
já aqui na linha
if (($i + 1) <= $installment ) {
echo ‘<span class=”span-woo-pagseguro-installments ‘.$class.'”>’ . ($i+1) . __( ‘x de ‘, ‘woo-pagseguro-parceled’ ) . wc_price($price / ($i+1)).’ ‘.$installments.'</span>’;
}else{
echo ‘<span class=”span-woo-pagseguro-installments ‘.$class.'”>’ . ($i+1) . __( ‘x de ‘, ‘woo-pagseguro-parceled’ ) . wc_price( $this->price_parceled( $price, ($i+1) ) ).’ ‘.$installments.'</span>’;esse é o código da tabela da esquerda, o segredo está bem aqui:
. wc_price($price / ($i+1)) assim que acordar vou tentar inserir os 10%.
}Obrigado pela resposta novamente.
@smithexe
Para adicionar + 10% nas parcelas sem juros para o box da página de detalhes do produto, pode usar esse código abaixo./* * Exibe na tela o resultado do calculo no loop dos produtos */ public function woo_product_box_parceled_single_product( $price, $start, $installment ) { $pagseguro_settings = get_option( 'woocommerce_pagseguro_settings' ); if ( $price > 0) { if ( $installment > 0 ) { $j = 0; for ($i = 0; $i <= 11; $i++ ) { if ($start == 'left') { // left if ( ( $price / ($i + 1) ) >= $pagseguro_settings['minimum_installment'] && ($i % 2) == 0 ) { $j++; $class = ""; if ($i + 1 > $installment) { $installments = __( '<br/>com juros', 'woo-pagseguro-parceled' ); } else { $installments = __( '<br/><strong>*sem juros</strong>', 'woo-pagseguro-parceled' ); } if (($j + 1) % 2 ) { $class = ""; } else { $class = "color"; } if (($i + 1) <= $installment ) { echo '<span class="span-woo-pagseguro-installments '.$class.'">' . ($i+1) . __( 'x de ', 'woo-pagseguro-parceled' ) . ( wc_price( $price / ( $i+1 ) * 1.1 ) ).' '.$installments.'</span>'; }else{ echo '<span class="span-woo-pagseguro-installments '.$class.'">' . ($i+1) . __( 'x de ', 'woo-pagseguro-parceled' ) . wc_price( $this->price_parceled( $price, ($i+1) ) ).' '.$installments.'</span>'; } } // } else if ($start == 'right') { // right if (($price / ($i + 1)) >= $pagseguro_settings['minimum_installment'] && ($i % 2) != 0 ) { $j++; $class = ""; if ( $i + 1 > $installment ) { $installments = __( '<br/>com juros', 'woo-pagseguro-parceled' ); } else { $installments = __( '<br/><strong>*sem juros</strong>', 'woo-pagseguro-parceled' ); } if ( ( $j + 1 ) % 2 ) { $class = ""; } else { $class = "color"; } if ( ( $i + 1 ) <= $installment ) { echo '<span class="span-woo-pagseguro-installments '.$class.'">' . ($i+1) . __( 'x de ', 'woo-pagseguro-parceled' ) . wc_price( $price / ( $i+1 ) * 1.1 ).' '.$installments.'</span>'; }else{ echo '<span class="span-woo-pagseguro-installments '.$class.'">' . ($i+1) . __( 'x de ', 'woo-pagseguro-parceled' ) . wc_price( $this->price_parceled( $price, ( $i+1 ) ) ).' '.$installments.'</span>'; } } // } } }else{ echo '<span class="span-woo-pagseguro-installments">' . __( '1x de ', 'woo-pagseguro-parceled' ) . wc_price( $price ) . __( '<br/> *sem juros</span>', 'woo-pagseguro-parceled' ); } } }
Boa noite Carlos, obrigado pela agilidade.
A sua altera??o funcionou perfeitamente, e muito obrigado. Mas tem o campo “Ou em até” ao qual precisa ser alterado também, só percebi depois.
Eu tentei da seguinte forma:
$atual_valor = $this->woo_product_parceled(); <- essa fun??o aqui já pega o atual valor divido pela quantidade de parcelas, ent?o só preciso adicionar os 10%.
$atual_valor = $this->woo_product_parceled();
$taxa = 1.1;
$taxa_aplicada = ($atual_valor * is_numeric($taxa));
var_dump($taxa_aplicada);printf(__(‘Ou em até <span>%sx</span> de <span>’ . $taxa_aplicada .'</span>’, ‘woo-pagseguro-parceled’ ), $woo_product_parceled_installment, $this->woo_product_parceled()); ?><br/>
Só que aparece a mensagem de erro:
Warning: A non-numeric value encountered in C:\laragon\www\lalaonline\wp-content\plugins\woo-pagseguro-parceled\woo-pagseguro-parceled.php on line 237
Já tentei passar a variável como int(), e a utilizar a fun??o is_numeric, o var_dump($taxa_aplicada); só retorna o valor 0.
Esse erro já aconteceu comigo em outras situa??es, mas quando eu inseria o int($variavel) o mesmo desaparece.
Tem algo que eu possa fazer?
Print do problema: https://uploaddeimagens.com.br/imagens/euwoFJ8
-
This reply was modified 4 years, 6 months ago by
Jorge Luiz.
Olá, @smithexe
O recursos que vc abriu o suporte agora está no plugin oficial nessa nova vers?o (1.7.4).
Grande abra?o e valeu! -
This reply was modified 4 years, 6 months ago by
- The topic ‘Adicionar 10% em cada parcela’ is closed to new replies.