Merhaba, iyi forumlar.
Siteme bir PHP kodu ekledim, ancak bu kod sadece ödeme adımında çalışıyor. Aslında sitenin her yerinde aktif olması gerekiyor aktifde fakat cache yüzünden göremiyorum diye düşünüyorum. Daha önce de benzer birkaç deneme yaptım ama sonunda tam olarak istediğim şekilde çalışan bir kod yazdım.
Fakat şu anda sitede, önceki denemelerimden kalma fiyatlar görünüyor. Litespeed kullanıyorum; önbelleği temizledim, hosting tarafında da cache'i sildim, hatta CDNi kapattım ama bu durum hâlâ düzelmedi.
Sizce neden böyle bir sorun olabilir?
/**
* WooCommerce ürün fiyatlarını belirlediğimiz kurallara göre ayarlar.
*/
function custom_adjust_woocommerce_price($price, $product) {
// Fiyat boşsa veya geçerli bir sayı değilse işlem yapma
if (empty($price) || !is_numeric($price)) {
return $price;
}
// Fiyatı float olarak al (ondalıklı sayılar için)
$price = floatval($price);
// 1. Fiyatı %35 arttır
$price = $price * 1.35;
// 2. En yakın 10'un katına yuvarla
// round($value / $precision) * $precision ile yuvarlama yapıyoruz
// Örneğin, 135 / 10 = 13.5 -> round(13.5) = 14 -> 14 * 10 = 140
$price = round($price / 10) * 10;
// 3. 20 TL ekle
$price = $price + 20;
// 4. 0.10 Kuruş azalt
$price = $price - 0.10;
// Fiyatın negatif olmamasını sağla (gerekiyorsa)
if ($price < 0) {
$price = 0;
}
// Ayarlanan fiyatı string olarak döndür (WooCommerce'un beklediği format)
return strval($price);
}
// WooCommerce'daki fiyat filtrelerine bu fonksiyonu uygula
add_filter('woocommerce_product_get_price', 'custom_adjust_woocommerce_price', 99, 2);
add_filter('woocommerce_product_get_regular_price' , 'custom_adjust_woocommerce_price', 99, 2);
add_filter('woocommerce_product_get_sale_price', 'custom_adjust_woocommerce_price', 99, 2);
Kod bu.