Mobilden giriyorum. Düzgün yazamadım. Bu kodu Görünüm/Tema Düzenliyici/Fubction.phpn içerisine yapıştır. Söylediğin saatlarde 10:00-11-00 arasında fiyat otomatik tüm ürünlerde 10₺ olacak. 11 de eski haline dönecek. Ürün sayfaları tek tek yüklenmez. Siteye yük olmaz. Ana sayfa açıldığında otomatik fiyatlar tüm sayafalarda tetiklenir. Crona gerek kalmaz kodlar arasında saati değiştirebilirsin. Bir kod daha var olmaz ise PC geçince bakarım tekrar.

ÖNCE YEDEK ALMAYI UNUTMA BUNU TEST ETMEDİM

// ÜRÜN FIYATLARINA 10:00 - 11:00 ARASI 10₺ DÜŞÜRÜR KOD BAŞLANGICI
add_action('template_redirect', 'tekseferlik_zamanli_indirim');

function tekseferlik_zamanli_indirim() {
// Sadece anasayfada çalışsın
if (!is_front_page()) return;

date_default_timezone_set('Europe/Istanbul');
$saat = date('H:i');

$baslangic = '10:00';
$bitis = '11:00';

// Durum takibi için transient (geçici veritabanı değişkeni)
if ($saat >= $baslangic && $saat < $bitis) {
if (!get_transient('indirim_uygulandi')) {
tum_urunleri_10tl_yap();
set_transient('indirim_uygulandi', true, 60 * 60); // 1 saat geçerli
}
} else {
if (get_transient('indirim_uygulandi')) {
urun_fiyatlarini_eskiye_cevir();
delete_transient('indirim_uygulandi');
}
}
}

function tum_urunleri_10tl_yap() {
$args = array(
'post_type' => 'product',
'posts_per_page' => -1,
);
$products = get_posts($args);

foreach ($products as $product_post) {
$product_id = $product_post->ID;
$product = wc_get_product($product_id);

if (!get_post_meta($product_id, '_original_price', true)) {
update_post_meta($product_id, '_original_price', $product->get_price());
$product->set_price(10);
$product->save();
}
}
}

function urun_fiyatlarini_eskiye_cevir() {
$args = array(
'post_type' => 'product',
'posts_per_page' => -1,
);
$products = get_posts($args);

foreach ($products as $product_post) {
$product_id = $product_post->ID;
$original_price = get_post_meta($product_id, '_original_price', true);

if ($original_price) {
$product = wc_get_product($product_id);
$product->set_price($original_price);
$product->save();
delete_post_meta($product_id, '_original_price');
}
}
}

// ÜRÜN FIYATLARINA 10:00 - 11:00 ARASI 10₺ DÜŞÜRÜR KOD BİTİŞİ