Função: exibir_desconto_apos_preco
Esta função personalizada do WooCommerce permite exibir o preço de um produto com um desconto personalizado em porcentagem, com a opção de incluir ou não a porcentagem na exibição. Além disso, a função pode ser ativada ou desativada conforme necessário. A função considera a exibição correta do preço da variação selecionada ou, se nenhuma variação estiver selecionada, exibirá o preço da primeira variação.
Parâmetros:
Nenhum parâmetro é necessário ao chamar a função. Os valores são configurados internamente na função.
Configurações personalizadas:
$ativo
: Esta variável booleana determina se a função está ativada ou desativada. Defina comotrue
para ativar a função efalse
para desativá-la.$exibir_porcentagem
: Esta variável booleana controla se a porcentagem de desconto é exibida. Defina comotrue
para exibir a porcentagem efalse
para não exibi-la.$desconto_personalizado
: Defina o valor do desconto desejado em porcentagem. Por exemplo,10
para um desconto de 10%.
Exemplo de uso:
// Ativar a função
$ativo = true;
// Exibir a porcentagem
$exibir_porcentagem = true;
// Definir desconto personalizado em 15%
$desconto_personalizado = 15;
// Chamar a função
exibir_desconto_apos_preco();
Funcionamento:
- A função verifica se o produto é simples ou variável.
- Se o produto for simples, ela pega o preço regular e o preço promocional (se houver).
- Se o produto for variável, a função verifica se uma variação está selecionada. Se sim, ela obtém o preço da variação selecionada. Se nenhuma variação estiver selecionada, ela obtém o preço da primeira variação disponível.
- Aplica o desconto personalizado ao preço.
- Exibe o preço com desconto e o texto personalizado, com ou sem a porcentagem, conforme configurado.
Integração:
Certifique-se de que o WooCommerce esteja instalado e ativado no seu site para que esta função funcione corretamente. Adicione o código ao arquivo functions.php
do seu tema ou a um plugin personalizado.
Esta função oferece flexibilidade na exibição de preços com desconto em suas páginas de produtos e loja, permitindo que você configure a exibição de acordo com suas necessidades. Certifique-se de personalizar as variáveis de acordo com suas preferências.
Este código leva em consideração se o produto é simples ou variável, exibindo o preço da variação selecionada ou o da primeira variação, conforme especificado, e também permite configurar se a porcentagem e o texto da porcentagem devem ser exibidos. Certifique-se de configurar as variáveis $ativo
, $exibir_porcentagem
e $desconto_personalizado
de acordo com suas preferências. Certifique-se de que o WooCommerce esteja instalado e ativado no seu site para que esta função funcione corretamente.
function exibir_desconto_apos_preco() {
global $product;
$ativo = true; // Defina como true para ativar a função e false para desativar.
$exibir_porcentagem = true; // Defina como true para exibir a porcentagem e false para não exibi-la.
if ($ativo) {
if ($product->is_type('simple')) {
$preco_original = $product->get_regular_price();
$preco_promocao = $product->get_sale_price();
} elseif ($product->is_type('variable')) {
$variacoes = $product->get_available_variations();
$variedade_selecionada = $product->get_default_attributes();
if (!empty($variedade_selecionada)) {
foreach ($variacoes as $variacao) {
if ($variacao['attributes'] == $variedade_selecionada) {
$preco_original = $variacao['display_regular_price'];
$preco_promocao = $variacao['display_price'];
break;
}
}
} else {
$primeira_variacao = reset($variacoes);
$preco_original = $primeira_variacao['display_regular_price'];
$preco_promocao = $primeira_variacao['display_price'];
}
} else {
return;
}
// Defina o desconto personalizado em porcentagem.
$desconto_personalizado = 10; // Defina o valor do desconto desejado.
if (empty($preco_promocao)) {
$preco_com_desconto = $preco_original * (1 - ($desconto_personalizado / 100));
} else {
$preco_com_desconto = $preco_promocao * (1 - ($desconto_personalizado / 100));
}
$texto_customizado = "Texto customizado após o preço com desconto aplicado";
$output = wc_price($preco_com_desconto);
if ($exibir_porcentagem) {
$output .= " $texto_customizado ($desconto_personalizado%) Texto após a porcentagem.";
} else {
$output .= " $texto_customizado Texto após o preço com desconto aplicado.";
}
echo '<p>' . $output . '</p>';
}
}
// Adicione o desconto após o preço nas páginas do produto e da loja.
add_action('woocommerce_after_shop_loop_item', 'exibir_desconto_apos_preco', 10);
add_action('woocommerce_single_product_summary', 'exibir_desconto_apos_preco', 11);
Para complementar a função com a frase “Texto personalizado” e o valor que a pessoa ganhou de desconto, você pode adicionar o seguinte código após a exibição dos dados do desconto na função:
function exibir_desconto_apos_preco() {
global $product;
$ativo = true; // Defina como true para ativar a função e false para desativar.
$exibir_porcentagem = true; // Defina como true para exibir a porcentagem e false para não exibi-la.
if ($ativo) {
if ($product->is_type('simple')) {
$preco_original = $product->get_regular_price();
$preco_promocao = $product->get_sale_price();
} elseif ($product->is_type('variable')) {
$variacoes = $product->get_available_variations();
$variedade_selecionada = $product->get_default_attributes();
if (!empty($variedade_selecionada)) {
foreach ($variacoes as $variacao) {
if ($variacao['attributes'] == $variedade_selecionada) {
$preco_original = $variacao['display_regular_price'];
$preco_promocao = $variacao['display_price'];
break;
}
}
} else {
$primeira_variacao = reset($variacoes);
$preco_original = $primeira_variacao['display_regular_price'];
$preco_promocao = $primeira_variacao['display_price'];
}
} else {
return;
}
// Defina o desconto personalizado em porcentagem.
$desconto_personalizado = 10; // Defina o valor do desconto desejado.
if (empty($preco_promocao)) {
$preco_com_desconto = $preco_original * (1 - ($desconto_personalizado / 100));
} else {
$preco_com_desconto = $preco_promocao * (1 - ($desconto_personalizado / 100));
}
// Calcula o valor economizado
$valor_economizado = $preco_original - $preco_com_desconto;
// Texto personalizado
$texto_adicional = "Texto personalizado e ganhe " . wc_price($valor_economizado);
$output = wc_price($preco_com_desconto);
if ($exibir_porcentagem) {
$output .= " ($desconto_personalizado%)";
}
// Adiciona o texto personalizado e o valor economizado à saída
$output .= " $texto_adicional";
echo '<p>' . $output . '</p';
}
}
// Adicione o desconto após o preço nas páginas do produto e da loja.
add_action('woocommerce_after_shop_loop_item', 'exibir_desconto_apos_preco', 10);
add_action('woocommerce_single_product_summary', 'exibir_desconto_apos_preco', 11);
Agora, a função exibirá o preço com desconto, a porcentagem (se configurada para exibição), o texto personalizado e o valor economizado após o preço do produto. Certifique-se de configurar as variáveis $ativo
, $exibir_porcentagem
e $desconto_personalizado
de acordo com suas preferências. Certifique-se também de que o WooCommerce esteja instalado e ativado no seu site para que esta função funcione corretamente.