WooCommerce sepete ekle / hemen al butonu kaldırmanın “doğru” yolunu gösteren yüzlerce içerik var. Ancak site kullanıcılarının daha spesifik çözümler istediğini görüyorum.
Bu yazıda; bir ürünün satın alma seçeneğini devre dışı bırakırken, WooCommerce sepete ekle butonunu kaldırmanın tüm olası yollarını sizinle paylaşmaya çalışacağım.
WooCommerce Sepete ekle butonunu tüm sayfalardan kaldırma ve satın alma işlevini devre dışı bırakma
Bu snippet, web sitesindeki satın alma işlevinin tamamen ya da herhangi bir sayfadan sepete ekle butonunu kaldırmanın en doğru ve en kolay yöntemidir. Doğrudan veya dolaylı olarak WooCommerce‘nin satın alma işlevini kullanan herhangi bir temanın, komut dosyasının veya eklentinin çalışmasını durduracaktır.
Aşağıdaki yöntem ise; tüm sayfalardan sepete ekle butonunu kaldırır, mağaza / arşiv sayfalarında sepete ekle butonu yerine devamını oku butonunu ekler.
Ürün içerik sayfalarında satın alma işlevini korurken, mağaza sayfasından / arşivinden sepete ekle butonunu gizleme
Aşağıdaki snippet ürün içerik sayfalarında satın alma işlevini korurken, mağaza sayfasından sepete ekle butonunu kaldırır.
WooCommerce Sepete ekle butonunu ürün kategori sayfalarından kaldırma
Küçük bir değişiklikle, sepete ekle butonunu hem mağaza sayfasından hem ürün kategori sayfasından kaldırmak isterseniz; if olan satırı if ( is_shop() || is_product_category() ) şeklinde düzenleyebilirsiniz.
İsterseniz, belirli ürün kategori sayfasında butonu gizleyebilirsiniz.
Ürün içerik sayfasından sepete ekle butonunu kaldırma
Bu kod, mağaza / arşiv sayfalarındaki satın alma işlevini korurken, ürün içerik sayfalarındaki sepete ekle butonunu kaldırır.
WooCommerce Sepete Ekle Butonu / Hemen Al Butonu Kodları Nasıl Uygulanır?
Bu işlemlerin uygulanması nispeten kolaydır. Aşağıdaki iki seçenekten birini seçebilirsiniz.
- Filezilla ya da farklı bir FTP istemcisi ile hosting hesabınıza bağlanıp, tema klasörü içindeki functions.php dosyasının sonuna, <?php ?> etiketleri arasında kalan ilgili kodları ekleyebilirsiniz.
- WordPress admin panelinden Görünüm > Tema Düzenleyici > functions.php dosyasına erişerek yine bu paylaştığım kodları ekleyebilirsiniz.
Özetlemek gerekirse;
Satın alma işlevini devre dışı bırakarak veya devre dışı bırakmadan sepete ekle butonunu kaldırmanın / gizlemenin birçok yolu vardır. İhtiyacınız olanı seçebilir veya iki çözümü bir araya getirip kullanabilirsiniz (is_shop ile is_product_category etiketlerini aynı fonksiyonda kullanmak gibi).
Bir kodun yazdığım şekilde çalışmadığını veya sorun yaşadığınızı fark ederseniz, bir yorum bırakın ve en kısa zamanda cevap vermeye çalışacağım. Paylaşmayı ve arkadaşlarınıza da yardım etmeyi unutmayın.
Sevgiler.
Teşekkürler yanıtınız için fakat olmadı.
1. satırda syntax error, unexpected ‘<', expecting end of file hatası veriyor. 1. satırı sildiğimde;
10. satırda syntax error, unexpected ';' hatası veriyor. noktalı virgülü sildiğimde;
12. satırda syntax error, unexpected '}' hatası veriyor. parantezi sildiğimde;
13. satırda syntax error, unexpected 'add_action' (T_STRING) hatası veriyor.
Merhaba, bu hata genellikle kodun yanlış kopyalanmasından veya functions.php dosyasına yanlış yerde eklenmesinden kaynaklanır. Ayrıca dosyada zaten <?php etiketi varsa tekrar eklemeyin. Sadece temiz kodu, mevcut PHP bloğunun içine eklemeniz yeterli.
Sorun devam ederse, eklediğiniz kısmı ve tam hata satırını paylaşırsanız daha net yardımcı olabilirim.
Merhaba,
Sadece belirli bir ürünün sayfasında sepete ekle butonunu nasıl kaldırabilirim?
Merhaba Behçet Bey,
Aşağıdaki kodu deneyebilir misiniz? is_product(array(‘5’) satırında bulunan ID’yi kendi post ID’lerinizle virgülle ayırarak değiştirebilirsiniz.
merhabalar kullanıcı girişi yapılmadan fiyat bilgisi ve sepete ekleme kısımlarını kaldırmak istiyorum yardımcı olursanız çok sevinirim
Merhaba Soner,
Bunu yapmak mümkün 👍 Kullanıcı giriş yapmadan fiyat ve sepete ekle bölümlerini gizlemek için, giriş kontrolü eklemen gerekiyor. Yani sistem önce kullanıcının oturum açıp açmadığını kontrol eder, giriş yapılmamışsa fiyat ve buton alanlarını göstermeyebilir.
Böylece:
Ziyaretçiler fiyatı görmez ve sepete ekleyemez,
Sadece giriş yapan kullanıcılar bu alanlara erişebilir.
Senin senaryonda en pratik yöntem is_user_logged_in() kontrolüyle fiyat ve sepete ekle alanlarını koşullu hale getirmek olacaktır.
Merhabalar normalde ürün fiyatı girmediğim zaman sepete ekle butonu çıkmıyor ancak varyasyon eklediğim zaman benim fiyat yazmamı zorunlu kılıyor ben fiyat ve sepete ekle butonunu göstermek istemiyorum nasıl yapabilirim yardımcı olabilir misiniz?
Merhaba Serhat,
Haklısın, varyasyonlu ürünlerde WooCommerce fiyat bilgisini zorunlu kılıyor. Eğer fiyat girmeden “sepete ekle” butonunu ve fiyat alanını gizlemek istiyorsan, ürünün satın alınabilirliğini devre dışı bırakman gerekiyor. Bunun için varyasyonlu ürünlerde fiyat yazmayı zorunlu kılan mantığı kapatabilir ya da “is_purchasable” filtresi üzerinden butonu kaldırabilirsin.
Yani kısacası:
Basit ürünlerde fiyat girmezsen buton çıkmaz,
Varyasyonlu ürünlerde ise özel olarak satın alınabilirliği kapatman gerekir.
İstersen sadece belirli kategori ya da ürünlerde uygulayabilir, istersen de tüm varyasyonlar için global olarak gizleyebilirsin.
Senin senaryona en uygun çözüm, “varyasyonlu ürünlerde fiyat ve sepete ekle butonunu kaldırma” kısmındaki yöntemi kullanmak olacaktır.
Muhteşem teşekkürler.
Biz teşekkür ederiz 🤗
Merhaba bilgi ve paylaşım için teşekkür ederim lakin işlemlerin hızlı olması adına sizden ricam butür paylaşımlara video çekerek eklemeniz hem bloğunuz hemde okurlarınız açısından faydalı olacağını düşünüyorum
Öncelikle bu güzel yorumunuz için çok teşekkür ederim. Video çekmeye başladık. Şu an için Youtube kanalında 2 videomuz var, diğer videolarımız da edit aşamasında 😊 Kısa zamanda bilgi ve birikimimizi video ile daha sık aktarmaya devam edeceğiz 🤗
Merhaba
Bazı ürünlerde fiyat koymuyoruz onun yerine fiyat sorunuz seklinde bir ibare bırakıyoruz. Ancak sepete ekle düğmesinde sadece bu ürünlerin kaldırmak istiyorum nasıl yapabilirim? Var mıdır bir yolu?
Merhaba Mehmet Bey,
Aşağıdaki gibi bir kod yapısı kullanabilirsiniz. Array içinde bulunan id leri kendi ürün id lerinizle değiştirebilirsiniz.
Sevgiler 🤗
Sepete ekle butonunu ortaya almayı nasıl yapabilirim? Yanındaki hemen al – istek listesi vs hepsini kaldırdım ama sola yaslı şekilde kaldı ortalarsam daha güzel olacak?
Korhan bey merhaba,
Bunun için temanızın style.css dosyasına müdahale edilerek css yazılması gerekir. Hangi temayı kullandığınızı bilmediğim için, ezbere bir şey söylemek çok zor 😊
Merhaba
Anasayfada yada mağaza sayfasından sepete ekleye bastığım zaman ürün sayfası açılsın istiyorum. Ürün sayfasında toptan satış için varyasyon eklentisi kullanıyorum. Anasayfada basınca fiyatı sıfır olanı ürünü sepete ekliyor nasıl çözebilirim bunu?
Shop ve archive sayfasından sepete ekle butonunu kaldırmayla ilgili bölümün probleminizi çözeceğini düşünüyorum.
Daha açıklayıcı, anlaşılır bir şekilde yazsaydınız keşke
Merhaba Turgut Bey, neyi anlamadığınızı yazsaydınız keşke.. 😔 O şekilde size daha iyi destek olabilirdik. Dilerseniz bizimle iletişime geçebilirsiniz.
Sevgiler 🤗