if (!defined('ABSPATH')) {
exit;
}
if (!function_exists('WC')) {
return;
}
/* =================================================
🧠 SHIPPING CLASS CACHE
================================================= */
function dinhos_get_shipping_class($product) {
if (!is_a($product, 'WC_Product')) {
return '';
}
static $cache = array();
$id = $product->get_id();
if (!isset($cache[$id])) {
$cache[$id] = $product->get_shipping_class();
}
return $cache[$id];
}
/* =================================================
📦 INFO PRODUTO
================================================= */
function dinhos_render_product_info($product) {
if (!is_a($product, 'WC_Product')) {
return;
}
$class = dinhos_get_shipping_class($product);
$price = (float) $product->get_price();
echo '
';
if ($class === 'animais-vivos') {
echo '
🐠 Animal vivo • envio especializado
';
echo '
Envio controlado • cuidado especial
';
echo '
Disponibilidade sob consulta
';
} elseif ($class === 'alimentos-congelados') {
echo '
❄️ Produto congelado • envio controlado
';
echo '
Manter refrigerado durante transporte
';
} elseif ($class === 'pesado') {
echo '
📦 Produto pesado • logística especial
';
echo '
Envio com logística reforçada
';
} elseif ($price >= 1000) {
echo '
🔥 Produto com alta procura recente
';
echo '
Interesse constante de clientes
';
} else {
echo '
✔️ Boa escolha entre nossos clientes
';
echo '
Visualizado recentemente
';
}
if ($class !== 'animais-vivos') {
if ($product->managing_stock()) {
$stock = $product->get_stock_quantity();
if ($stock !== null && $stock <= 3) {
echo '
Últimas unidades disponíveis
';
} else {
echo '
Em estoque
';
}
} else {
echo '
Pronta entrega
';
}
}
$count = (int) $product->get_review_count();
if ($count > 0) {
$avg = (float) $product->get_average_rating();
echo '
';
echo '⭐ ' . number_format($avg, 1) . ' (' . $count . ' avaliações)';
echo '
';
}
echo '
';
}
/* =================================================
🛒 LOOP
================================================= */
function dinhos_product_loop_info() {
global $product;
if (!$product) {
return;
}
dinhos_render_product_info($product);
}
add_action(
'woocommerce_after_shop_loop_item_title',
'dinhos_product_loop_info',
15
);
/* =================================================
📄 SINGLE PRODUCT
================================================= */
function dinhos_product_single_info() {
global $product;
if (!$product) {
return;
}
echo '