Bodrum Dijital Medya

WooCommerce’de Fiyatların Sonuna Yazı Eklemek

WooCommerce ile hazırlanan e-ticaret siteleri arttıkça, istekler de çeşitleniyor. Sıkça rastladığımız bir istek de, fiyatların sonuna yazı eklemek. Teknik olarak “suffix” deniyor buna. Önüne eklenen yazı ise “prefix” oluyor.

Konumuza dönelim. Bu tür bir ihtiyaç, genellikle satılan ürünün birimiyle ilgili doğuyor. Ayrıca Yıllık ve Aylık gibi talepler de oluyor. Aşağıda size, hem tek ürün sayfalarında hem de sepet sayfasında ürünlerin sonuna yazı eklemek için gereken koddan bahsedeceğim.

add_filter( 'woocommerce_get_price_html', 'yillikekle' );
add_filter( 'woocommerce_cart_item_price', 'yillikekle' );
add_filter( 'woocommerce_cart_item_subtotal', 'yillikekle' );  
add_filter( 'woocommerce_cart_total', 'yillikekle' ); 

function yillikekle( $price ) {
    $paradanSonra = ' / Yıllık'; /** burayı ihtiyacınıza göre değiştirin. **/
    return $price . $paradanSonra;
}

Yukarıda child temanızdaki functions.php ekleyeceğiniz kodun tamamı bulunuyor. Bu kod sayesinde tek ürün, ürünün sepetteki tekil fiyatı, adet bazlı toplam fiyatı, sepet bazlı ara toplam ve toplam fiyatların arkasına / Yıllık ibaresi eklenmiş oluyor.

/ Yıllık yazan kısmı, kenarlarındaki işaretlere dokunmadan ihtiyacınız olan yazıyla değiştirip kullanabilirsiniz. Örneğin litre.

Bu kodla beraber ufak tefek PHP bilgisinden de bahsedelim o halde.

Buradaki add_filter komutu ile woocommerce_get_price_html veya woocommerce_cart_item_price kodlarına  yanında belirttiğimiz filtreyi eklediğimizi söylüyoruz. Biz burada bu filtreye “yillikekle” dedik. Burada Türkçe karakterler kullanılmıyor.

Daha sonra function komutunu uygulayarak fonksiyonumuzun ne olduğunu belirtiyoruz.

function yillikekle( $price ) {
    $paradanSonra = ' / Yıllık'; 
    return $price . $paradanSonra;
}

Yukarıdaki kodda dedik ki; yillikekle fonksiyonunu $price hook’u için çalıştır. $price ise WooCommerce’nin kendi içerisindeki bir hooktur. Bunu değiştirirseniz, yillikekle fonksiyonunun nerede kullanılacağını belirlemiş olursunuz. Biz bu kodda $price‘ta  yani ürün fiyatında kullanacağımızı belirtiyoruz.

Açtığımız süslü parantez ile de fonksiyonun ne yapması gerektiğini anlatıyoruz. Ben burada $paradanSonra yazdım, siz yine Türkçe karakter kullanmadan değiştirebilirsiniz.

Koda dedim ki: $paradanSonra‘yı gördüğün yerde / Yıllık textini ekle.

Son olarak da, PHP’ye 7.0’dan sonra eklenen bir özellik olan return değerini ekliyoruz. Return değeri, bir fonksiyonun ne tür bir değer döndüreceğini belirtmek için kullanılır. Ayrıntılı bilgi için PHP.NET sayfasını ziyaret edebilirsiniz.

return komutu ile, $price değerinden sonra $paradanSonra‘ya atadığımız değeri yayınlamasını sağlıyoruz ve kodumuz çalışıyor.

Bu yazımda size ürün fiyatlarının arkasına istediğiniz yazıyı nasıl ekleyeceğinizi anlatmaya çalıştım. PHP hakkında da ufak tefek bilgiler verdim. Buradaki kodu, hazırladığım bir web sitesinde kullanıyorum ve sorunsuz bir şekilde çalışıyor. Başka bir yazımda ise, sadece belirli kategorilerdeki ürünlere bu tür yazıları nasıl ekleyebileceğinizi anlatacağım.