Para exibir o preço parcelado após o preço utilizando add_action
, você pode adicionar o seguinte código ao arquivo functions.php
do seu tema ativo no WordPress:
/**
* Adiciona o preço parcelado após o preço regular na página de produto e na loja.
*/
function adicionar_preco_parcelado() {
// Verifica se o WooCommerce está ativo
if (class_exists('WooCommerce')) {
// Obtém o produto atual
global $product;
// Define o número de parcelas e a taxa de juros desejados
$parcelas = 12; // Número de parcelas
$taxa_juros = 20.48; // Taxa de juros em porcentagem
if ($product->is_type('variable')) {
// Verifica se alguma variação foi selecionada
$chosen_variation = get_variation_selected_data($product);
if ($chosen_variation) {
$price = $chosen_variation['display_price'];
} else {
$variations = $product->get_available_variations();
if (!empty($variations)) {
$price = $variations[0]['display_price'];
} else {
// Caso não haja variações disponíveis, use o preço do produto principal
$price = $product->get_regular_price();
}
}
} else {
// Verifica se o produto está em promoção
if ($product->is_on_sale()) {
$price = $product->get_sale_price();
} else {
$price = $product->get_regular_price();
}
}
// Calcula o valor da parcela com a taxa de juros
$valor_parcela = $price / $parcelas;
$valor_parcela_com_juros = $valor_parcela + ($valor_parcela * ($taxa_juros / 100));
// Exibe o preço parcelado após o preço original
echo '<p>Em até ' . $parcelas . 'x de ' . wc_price($valor_parcela_com_juros) . ' no cartão.</p>';
}
}
// Adiciona a ação para exibir o preço parcelado após o preço na página de produto
add_action('woocommerce_single_product_summary', 'adicionar_preco_parcelado', 11);
// Adiciona a ação para exibir o preço parcelado na página da loja (lista de produtos)
add_action('woocommerce_after_shop_loop_item', 'adicionar_preco_parcelado', 15);
/**
* Obtém os dados da variação selecionada, se houver.
*
* @param WC_Product_Variable $product Produto variável.
* @return array|null Dados da variação selecionada ou null se nenhuma for selecionada.
*/
function get_variation_selected_data($product) {
if ($product->is_type('variable')) {
foreach ($product->get_available_variations() as $variation) {
if ($variation['variation_is_visible'] && $variation['is_purchasable'] && $variation['variation_is_active']) {
return $variation;
}
}
}
return null;
}
Este código adiciona a ação woocommerce_single_product_summary
para exibir o preço parcelado na página de produto e a ação woocommerce_after_shop_loop_item
para exibir o preço parcelado na página da loja (lista de produtos). Certifique-se de ajustar o número de parcelas e a taxa de juros conforme necessário.