Belirli Kategori için Ödeme Yöntemi Nasıl Devre Dışı Bırakılır
Yayınlanan: 2020-09-01Bir WooCommerce mağazası mı işletiyorsunuz ve sepette bulunan ürün kategorilerine dayalı olarak belirli bir kategori veya birden fazla ödeme yöntemi için ödeme yöntemini nasıl devre dışı bırakabileceğinizi bilmek mi istiyorsunuz? Ürün kategorilerine odaklanan bir çözüm arıyorsanız, ancak nakliye sınıfları için, örneğin ürünlerin kendisinde de bazı küçük değişiklikler değiştirilebilirse, bu makale size bunu nasıl başaracağınız konusunda rehberlik edecektir.
Belirli Kategori için Ödeme Yöntemini Devre Dışı Bırak
Bu yaklaşımın yararlı olduğu iyi bir örnek, WooCommerce mağaza sahiplerinin yalnızca yüksek fiyatlı ürünleri içeren bir kategoriye sahip olması ve müşterilerin kredi kartı kullanmak yerine banka havalesi ile ödeme yapmasını istemesidir. Bu, bir kategori için bir ödeme yöntemini devre dışı bırakmanız gerekebilecek birçok duruma sadece bir örnektir.
Teknoloji konusunda bilgili değilseniz, işi sizin yerinize yapması için premium bir eklentiyi tercih edebilirsiniz. Bir örnek, ödeme yöntemlerinizin etkinleştirileceği veya devre dışı bırakılacağı koşulları oluşturmanıza yardımcı olan WooCommerce Koşullu Ödeme Eklentisidir. Kodu kullanmakta o kadar iyi değilseniz, bu, göz önünde bulundurmanız gereken en iyi premium çözüm olacaktır.
Ayrıca, bu eklenti, sınırsız koşullar oluşturmanıza ve örneğin alışveriş sepeti toplamları, fatura ülkesi, kullanıcı rolü ve çok daha fazlasını kullanarak hangi ödeme ağ geçidinin gösterilip hangilerinin gösterilmeyeceğini tanımlamanıza olanak tanır.
Ancak, bu kısa eğitimde, PHP kod parçacıklarını kullanarak belirli bir kategori için bir ödeme yöntemini nasıl devre dışı bırakacağınızı göstereceğim.
PHP Kod Parçacığı Kullanarak Belirli Bir Kategori için Ödeme Yöntemini Devre Dışı Bırakma Adımları
İşte izlemeniz gereken basit adımlar:
- WordPress sitenize giriş yapın ve yönetici kullanıcı olarak Gösterge Tablosuna erişin.
- Pano menüsünden Görünüm Menüsü > Tema Düzenleyici Menüsü öğesine tıklayın. Tema Editörü sayfası açıldığında, belirli bir kategori için ödeme yöntemini devre dışı bırakacak işlevi ekleyeceğimiz tema işlevleri dosyasını arayın.
- php dosyasına aşağıdaki kodu ekleyin :
/** * @snippet Belirli Kategori için Ödeme Yöntemini Devre Dışı Bırak */ add_filter('woocommerce_available_payment_gateways', 'njengah_unset_gateway_by_category'); function njengah_unset_gateway_by_category($mevcut_gateways) { if ( is_admin() ) $available_gateways döndürür; if ( ! is_checkout() ) $available_gateways döndürür; $unset = yanlış; $category_ids = dizi( 8, 37 ); foreach ( WC()->cart->get_cart_contents() as $key => $değerler ) { $terms = get_the_terms( $values['product_id'], 'product_cat'); foreach ( $terms as $term ) { if ( in_array( $term->term_id, $category_ids ) ) { $unset = true; kırmak; } } } if ( $unset == true ) unset( $available_gateways['çek']); $available_gateways döndür; }
- Bu sonuçlar olacak
Bu kodun çalışması için WooCommerce mağazanızda bulunan doğru kategori kimliğini eklemeyi unutmayın.
Kategori Kimliğini kullanmayı sevmiyorsanız, WooCommerce mağazanızda kategori bilgisini de kullanabilirsiniz. İleride başvurmak üzere anlaşılması daha kolay olduğu için bunları kullanmayı tercih edebilirsiniz.
Kategori Slugs Kullanarak Belirli Kategori için Ödeme Yöntemini Devre Dışı Bırakma Adımları
- WordPress sitenize giriş yapın ve yönetici kullanıcı olarak Gösterge Tablosuna erişin.
- Pano menüsünden Görünüm Menüsü > Tema Düzenleyici Menüsü öğesine tıklayın. Tema Editörü sayfası açıldığında, belirli bir kategori için ödeme yöntemini devre dışı bırakacak işlevi ekleyeceğimiz tema işlevleri dosyasını arayın.
- php dosyasına aşağıdaki kodu ekleyin :
/** * @snippet Kategoriye göre ödeme ağ geçidini devre dışı bırakın. */ function njengah_disable_payment_gateway_category($ağ geçitleri) { // Ödeme ağ geçidini devre dışı bırakacak kategoriler $category_slugs = dizi( 'aksesuarlar', 'başka bir kategori'); $category_ids = get_terms( array( 'taksonomi' => 'product_cat', 'slug' => $category_slugs, 'fields' => 'ids' ) ); // Verilen kategori için her sepet öğesini kontrol edin foreach (WC()->cart->get_cart() as $item ) { $ürün = $item['veri']; if ( $product && array_intersect( $category_ids, $product->get_category_ids() ) ) { unset( $ağ geçitleri['kod']); // Ürün kategorilerden birine sahip olduğunda ödeme ağ geçidi 'kodunu' devre dışı bırak kırmak; } } $ ağ geçitlerini döndür; } add_filter('woocommerce_available_payment_gateways', 'njengah_disable_payment_gateway_category');
- sonuç bu olacak
Doğru kategori bilgisini eklemeyi unutmayın ve devre dışı bırakmak istediğiniz ödeme ağ geçidini tanımlamanız gerekir. Örneğimde, teslimatta nakit ödemeyi temsil etmek için 'morina' kullandım.
Belirtilen kategori sepette mevcut olduğunda, ödeme ağ geçidi tanımlayıcısının da devre dışı bırakmak istediğiniz şekilde değiştirilmesi gerektiğini unutmamak önemlidir.
- Banka havalesi (bacs)
- Çek (çek)
- Kapıda ödeme (kod)
- PayPal (PayPal)
Ancak, varsayılan ödeme ağ geçitlerinden birini kullanmıyorsanız endişelenmeyin, çünkü ödeme ağ geçidi kimliğini bulmanın hala kolay bir yolu var. Bunu, ödeme ağ geçidi ayarları sayfasına giderek yapabilirsiniz ve kimliği orada bulacaksınız.
Örneğin, ayarlar sayfasındaki Kapıda Ödeme seçeneği için bu, URL olacaktır: wp-admin/admin.php?page=wc-settings&tab=checkout§ion=cod
Çözüm
Bu gönderide, iki yöntem kullanarak Belirli Kategori için Ödeme Yöntemini nasıl devre dışı bırakacağınızı öğrendiniz. Bunları, ileride kolayca başvurmak için ürün kategorisi kimliklerini veya kategori bilgi işaretlerini kullanarak tanımlayabilirsiniz. Bu işlevi eklemek için WooCommerce mağazanızdaki kategori kimliğini veya bilgi bilgisini kullanmayı unutmayın.
Benzer Makaleler
- WRAC WooCommerce Ödeme Eklentisinden Sonra Yönlendirme
- WooCommerce Mağaza Sayfasında Sepete Ekle Düğme Metni Nasıl Değiştirilir
- İndirilenler Menüsü Nasıl Kaldırılır Hesabım Sayfam WooCommerce
- WooCommerce ile Dijital Ürünler Nasıl Satılır?
- Varsayılan Ürün Sıralaması Nasıl Kaldırılır WooCommerce
- WooCommerce'de Ürünlere GTIN Numaraları Nasıl Eklenir?
- Daha İyi Kullanıcı Deneyimi için WooCommerce Kategorileri Nasıl Sıralanır?
- WooCommerce Mağaza Sayfasındaki Tüm Ürünleri Nasıl Gizlersiniz?
- WooCommerce Kupon Kodu Alanı Nasıl Gizlenir
- WooCommerce Ürün Sayfasından Miktar Alanını Gizle veya Kaldır
- WooCommerce Ürünleri Kategoriye Göre Nasıl Görüntülenir
- Ürün Resmi Nasıl Eklenir WooCommerce Ödeme Sayfası