»,
‘deadline’ => ‘2025-09-20 23:59:59’,
‘tz’ => ‘+02:00’,
‘limit’ => ‘500’,
], $atts);
if (!$a[‘product_id’]) return ‘
Укажите product_id в шорткоде.
‘;
$pid = intval($a[‘product_id’]);
$product = function_exists(‘wc_get_product’) ? wc_get_product($pid) : null;
if (!$product) return ‘
Товар не найден.
‘;
// Данные товара
$price_html = $product->get_price_html();
$img_id = $product->get_image_id();
$img = $img_id ? wp_get_attachment_image_src($img_id, ‘large’) : null;
$img_url = $img ? $img[0] : ‘https://via.placeholder.com/1200×800?text=Le+Temps+du+Vin’;
$permalink = get_permalink($pid);
// Остатки/продажи
$limit = max(0, intval($a[‘limit’]));
$stock_qty = $product->get_stock_quantity(); // int|null
$manages = $product->managing_stock(); // true/false
// Если склад управляется и лимит = stock + sold, то:
if ($manages && is_int($stock_qty)) {
// Пытаемся понять «сколько продано» относительно лимита.
$sold = max(0, $limit — $stock_qty);
$left = max(0, $stock_qty);
} else {
// Если складом не управляют, показываем, что «неизвестно».
$sold = 0;
$left = $limit;
}
// ISO-дедлайн
$deadline_iso = date(‘c’, strtotime($a[‘deadline’].$a[‘tz’]));
ob_start(); ?>
«Время вина» — предзаказ урожая 2025
Две бутылки (2015 & 2020) + именной сертификат на урожай 2025 с доставкой к НГ-2027. Эхо прошлого, дыхание настоящего, обещание будущего.
Осталось: