Home / Archive / Exibe preços (Parcelado e com desconto a vista), na página do produto e no looping do produto.
Duplicate Snippet

Embed Snippet on Your Site

Exibe preços (Parcelado e com desconto a vista), na página do produto e no looping do produto.

Esse Snippet permite adicionar simulação de descontos e parcelamento aos preços exibidos no looping do produto e na página do produto.

Code Preview
php
<?php
/**
 * @snippet        Exibe preços (Parcelado e com desconto a vista), na página do produto e no looping do produto.
 * @uthor          Fernando Paglacci
 * @Website        https://fernandopaglacci.com.br/snippets
 * @compatible     WooCommerce 8
 */
// Define as constantes para os valores dos percentuais de desconto e parcelamento
define('FPG_DISCOUNT_PERCENTAGE', 10.5);
define('FPG_INSTALLMENTS', 12);
// Adiciona um filtro ao hook woocommerce_get_price_html para modificar a exibição do preço do produto
add_filter('woocommerce_get_price_html', 'fpg_paglacci_get_price_html', 10, 2);
// Função personalizada para modificar a exibição do preço do produto
function fpg_paglacci_get_price_html($price, $product)
{
    // Calcula o preço original, o preço com desconto e o preço parcelado
    $original_price = $product->get_price();
    $discounted_price = wc_format_decimal($original_price * (1 - FPG_DISCOUNT_PERCENTAGE / 100), wc_get_price_decimals());
    $installments_price = wc_format_decimal($original_price / FPG_INSTALLMENTS, wc_get_price_decimals());
    // Formata as saídas HTML
    $original_price_html = wc_price($original_price);
    $discounted_price_html = wc_price($discounted_price);
    $installments_price_html = wc_price($installments_price);
    // Retorna a string formatada com as informações de desconto e parcelamento
    return '<del class="fpg-original-price">' . $original_price_html . '</del><br><ins class="fpg-discounted-price">' . $discounted_price_html . ' <span class="fpg-discount-percentage">(' . FPG_DISCOUNT_PERCENTAGE . '% de desconto no pix)</span></ins><br><span class="fpg-installments">ou ' . $installments_price_html . ' em ' . FPG_INSTALLMENTS . 'x sem juros</span>';
}

Comments

Add a Comment