WooCommerce B2B: Toptan Satış Mağazası Nasıl Kurulur
Yayınlanan: 2020-06-09
E-ticaret sektörü, her yıl inanılmaz bir büyüme görüyor ve görünürde öngörülebilir bir son yok. Aynısı B2B e-ticaret için de geçerlidir, ancak toptan satış yapmak isteyen küçük ve orta ölçekli işletmeler için pek çok iyi platform seçeneği yoktur. Piyasada birkaç SaaS çözümü var, ancak bunlar maliyetli, kapalı kaynaklı ve çoğunlukla daha büyük işletmelere yönelik.
Bir işletme sahibi veya geliştiriciyseniz, WooCommerce ücretsiz, çok yönlü ve güçlü bir çözümdür.
WooCommerce B2B mağazaları için uygun mu?
“Kutunun dışında”, öyle değil. WooCommerce, e-ticaret mağazaları için harika bir çözümdür, ancak özellikle toptan satış için geliştirilmemiştir, bu nedenle başlangıçta birçok önemli seçenekten yoksundur. Ancak, WooCommerce'i genişletmek ve ihtiyaç duyabileceğiniz tüm işletmeler arası işlevleri eklemek için B2BKing gibi güçlü bir toptan satış eklentisi kullanabilirsiniz.
B2B projeniz için WooCommerce'i seçerken bilmeniz gereken iki husus daha vardır:
- WooCommerce, güvenli olduğundan ve doğru çalıştığından emin olmak için düzenli eklenti güncellemeleri gerektirecektir.
- Barındırma ve web sitesi yapılandırmanıza bağlı olarak, WordPress ortamı bazen biraz yavaş çalışabilir. Ancak, WP Rocket (veya diğer önbelleğe alma ve optimizasyon eklentileri) gibi eklentiler aracılığıyla optimize etmenin ve hızlandırmanın yolları vardır.
Mükemmel olmasa da, WooCommerce şu anda dünyadaki çevrimiçi mağazaların %20'sinden fazlasına güç sağlıyor ve bunun için iyi nedenler var: ücretsiz, açık kaynaklı, güçlü ve güvenli. Aynı nitelikler, toptan satış mağazaları için de mükemmel bir seçimdir.
Bir B2B mağazasının tipik bir e-mağazadan farkı nedir?
İşletmeler arası satış yapmak, genellikle tüketicilere doğrudan satış yapmaktan çok farklı ve daha kişisel bir deneyimdir. Ticari alıcılar bilgilidir, pazarlığa açıktır ve toplu alımlar için harika teklifler ve indirimler almak ister. Fiyat katalogları, indirim seçenekleri ve ödeme ve nakliye seçenekleri, işletme büyüklüğü, sipariş büyüklüğü veya mevcut iş ilişkileri gibi faktörlere bağlı olarak müşteriden müşteriye büyük farklılıklar gösterebilir.
Bir web sitesi geliştirme açısından bu, fiyatlandırma, indirimler, nakliye ve sipariş kuralları söz konusu olduğunda yüksek derecede teknik esneklik için bir gereklilik anlamına gelir.
İşletmelere satış yapmak, aşağıdaki gibi özelliklere de ihtiyaç duyulur:
- Misafirler için fiyatları gizleme
- İşletme kayıt formu
- KDV (veya başka bir vergi numarası) numarası desteği
- Vergi muafiyetleri
- Teklif istekleri
- Özel faturalandırma ve ödeme alanları
- Toptan sipariş formu
- Bir alıcı hesabında birden fazla kullanıcıyı destekleyebilme (kurumsal yapılar için)
Devam edelim ve bu özelliklerden birkaçının WooCommerce'de nasıl uygulanabileceğine bakalım. Sonraki bölümler daha çok geliştiricilere yönelik olacak ve faydalı bulacağınızı umduğum birkaç kod parçacığının yanı sıra kullanabileceğiniz ücretsiz eklentileri paylaşacağım.
1. Konuk kullanıcılar için fiyatları gizleyin
Kolay bir tane ile başlayalım. Bunu iki WooCommerce filtresiyle yapabilirsiniz. İlk olarak, görüntülenen fiyatı "Fiyatları görüntülemek için giriş yap" olarak değiştirmek için woocommerce_get_price_html kullanalım .
add_filter( 'woocommerce_get_price_html', 'b2bking_hide_prices_guest_users', 10, 2 );
function b2bking_hide_prices_guest_users( $price, $product ){
if ( ! is_user_logged_in() ){
return esc_html__( 'Login to view prices', 'your-plugin-text-domain' );
} else {
return $price;
}
}
Bunu yaptıktan sonra fiyatlar artık görünmez ve bizim yazımızla değiştirilecektir. Ancak bu yeterli değildir, çünkü kullanıcı yine de bu ürünleri sepete ekleyebilir ve fiyatlarını görebilir. Uygun şekilde adlandırılmış woocommerce_is_purchasable filtresi tarafından bize bir çözüm sunulmaktadır.
add_filter( 'woocommerce_is_purchasable', 'b2bking_disable_purchasable_guest_users' );
function b2bking_disable_purchasable_guest_users( $purchasable ){
if ( ! is_user_logged_in() ){
return false;
} else {
return $purchasable;
}
}
Bunu ekledikten sonra, ürünler artık misafir kullanıcılar tarafından satın alınamayacak ve "sepete ekle" düğmesi artık kullanılamayacak. Bahsetmeye değer bir şey daha, nasıl kurulduklarına bağlı olarak AJAX arama formlarını kullanırken başınız belaya girebileceğinizdir. Bunu düzeltmenin hızlı bir yolu da yukarıdaki kodu ana kodunuza eklemek ve kodu içine sararak AJAX olup olmadığını kontrol etmektir :
if ( wp_doing_ajax() ){
// code here
}
Sonuç:
Kodlamaya aşina olmadığınız için bir eklenti alternatifiyle ilgileniyorsanız, B2BKing'de bu ve web sitesini tamamen gizleme veya tek tek ürünler veya kategoriler için fiyatları gizleme seçeneği gibi diğer konuk erişim kısıtlama işlevleri vardır.
2. İşletme kaydı veya ayrı B2B ve B2C kayıt formları
Burada yapmak istediğiniz “Şirket Adı”, “Adres”, “KDV ID” gibi özel alanlar eklemektir.
Şirket adı için özel bir alan eklemek için bu kodu kullanabilirsiniz:
add_action( 'woocommerce_register_form', 'b2bking_custom_registration_field' );
function b2bking_custom_registration_field(){
echo '<label>' . esc_html__( 'Company name', 'your-custom-text-domain' ) . '</label>';
echo '<input type="text" name="billing_company">';
}
Bu alanı kayıt sırasında şirket adı için WooCommerce fatura alanıyla senkronize etmek istiyorsanız, bunu woocommerce_created_customer kancasını kullanarak ve WooCommerce'in kullandığı aynı alanları kullanarak şirket adını kullanıcı meta olarak kaydederek yapabilirsiniz: billing_first_name, billing_company, billing_city, vb:
add_action( 'woocommerce_created_customer', 'b2bking_save_custom_registration_fields' );
function b2bking_save_custom_registration_fields( $user_id ) {
$field_value = sanitize_text_field( filter_input( INPUT_POST, 'billing_company' ) );
if ( $field_value !== NULL ){
update_user_meta( $user_id, 'billing_company', $field_value );
}
}
Ayrı B2B ve B2C form alanlarını nasıl oluşturabilirsiniz? Yukarıda açıklandığı şekilde kayıt için bir “Seç” alanı ekleyebilir ve kullanıcının “Bireysel” veya “Şirket”i seçip seçmediğini belirlemek için biraz JavaScript kullanabilirsiniz. Kullanıcının neyi seçtiğine bağlı olarak Şirket adı gibi kayıt alanlarını gösterin veya gizleyin.
Kodlamadan kaçınmak istiyorsanız, kaydı uzatmak için https://wordpress.org/plugins/user-registration/ gibi birden fazla kayıt formu için seçeneklere sahip bazı ücretsiz eklenti çözümleri vardır, ancak B2B'ye özel kayıt oluşturmak gerektirebilir senin tarafında biraz fazladan iş.

Birinci sınıf bir çözüm arıyorsanız, B2BKing, herhangi bir sayfaya ekleyebileceğiniz ve bir işletme kayıt formu oluşturabileceğiniz bazı kullanışlı, kullanımı kolay kısa kodlar sağlar.
3. Toptan sipariş formu
Kurumsal müşteriler genellikle SKU'ya kadar tam olarak ne istediklerini bilirler, bu nedenle web sitenize toptan sipariş formu eklemek, müşterileriniz için sipariş vermeyi hızlandırır ve profesyonel görünmenizi sağlar.
Nasıl bir tane ekleyebilirsiniz? Bunu yapabilecek hızlı bir kod parçacığı yok, bu yüzden bir eklentinin en iyi çözümünüz olduğunu düşünüyorum.
Kişisel olarak test ettiğim, harika görünen ve çalışan ücretsiz bir eklenti var: https://wordpress.org/plugins/woocommerce-bulk-order-form/
B2BKing ayrıca bir sonraki resimde görebileceğiniz kendi tescilli uygulamasına sahiptir:
4. Toptan fiyat yapısı
Buradaki ilgili soru şudur: farklı kullanıcılar için farklı fiyatlar nasıl belirlenir? Bunu yapmanın 2 yolu vardır: fiyatı doğrudan değiştirin veya bir indirim ekleyin.
Bir kullanıcı veya kullanıcı kategorisi için alışveriş sepeti indirimi eklemek için bu kodu kullanın:
add_action( 'woocommerce_cart_calculate_fees', 'b2bking_cart_discount' );
function b2bking_cart_discount( $cart ){
$cart->add_fee( 'B2B Discount', -10 );
}
Yukarıdaki kod, bir indirim olan negatif bir ücret ekleyerek biraz hile kullanır. Yukarıdaki kod pek bir şey yapmaz, sadece tüm kullanıcılar için 10 dolarlık bir indirim ekler. Kodu biraz genişletelim:
function b2bking_cart_discount( $cart ){
$user_id = get_current_user_id();
$user_status = get_user_meta( $user_id, 'user_status', true );
if ( $user_status === 'b2b' ){
$cart->add_fee( 'B2B Discount', -10 );
}
}
Bu nasıl? Artık kod, kullanıcının meta durumunun ' b2b' olup olmadığını kontrol ediyor ve sadece b2b kullanıcılarına indirim veriyor.
Meta durumunu nasıl ayarlarsınız? Bunu, yukarıda 2. makale bölümünde kullandığım woocommerce_created_customer kancasını ve basit bir kod satırını kullanarak kayıt sırasında ayarlayabilirsiniz. update_user_meta işlevi, hem kullanıcı metasını güncellemek hem de oluşturmak için kullanılır.
update_user_meta( $user_id, 'user_status', 'b2b' );
Farklı kullanıcılar için farklı ürünler için farklı fiyatlarda karmaşık yapılar belirlemek isterseniz ne olur?
Bu biraz daha karmaşık hale gelir, ancak aynı ilkeleri kullanabilirsiniz. WooCommerce'de bir ürün bir "gönderidir" ve bunun için meta verileri gönderebilirsiniz. Örneğin, b2b kullanıcıları için ayrı bir fiyat olması için b2b_price adlı bir gönderi metası ekleyebilirsiniz. İşte kod.
update_post_meta( $post_id, 'b2b_price', 15 ); // 15 is the price for b2b users
Bu fiyatı sadece b2b kullanıcılarına nasıl gösterirsiniz?
add_filter('woocommerce_product_get_price', 'b2bking_fixed_price', 99, 2 );
add_filter('woocommerce_product_get_regular_price', 'b2bking_fixed_price', 99, 2 );
add_filter('woocommerce_product_variation_get_regular_price', 'b2bking_fixed_price', 99, 2 );
add_filter('woocommerce_product_variation_get_price', 'b2bking_fixed_price', 99, 2 );
function b2bking_fixed_price( $price, $product ) {
// check if the user is B2B or not
$current_user_id = get_current_user_id();
$current_user_status = get_user_meta( $current_user_id, 'user_status', true );
if ( $current_user_status !== 'b2b' ){
// if user is not b2b show the normal price
return $price;
} else {
// get the current product’s price for B2B users
$current_product_id = $product->get_id();
$b2b_price = get_post_meta( $current_product_id, 'b2b_price', true );
return $b2b_price;
}
}
5. Vergi muafiyetlerinin ayarlanması
Bu düşündüğünüzden daha kolay! WooCommerce'de bunu sizin için yapacak ve hatta çoğu durumda fiyat gösterimiyle ilgilenecek çok kullanışlı bir işlev vardır: set_is_vat_exempt() . İyi isim, değil mi?
Hatta bu işlev, B2B kullanıcılarının “vergi hariç” son eki olan fiyatları, B2C kullanıcılarının ise “vergi dahil” yazan fiyatları görmelerini sağlayacaktır.
add_action( 'init', 'b2bking_tax_exemption' );
function b2bking_tax_exemption(){
// first we check if the user is tax exempt
$tax_exempt = get_user_meta( get_current_user_id(), 'is_tax_exempt', true );
if ( $tax_exempt === 'exempt' ){
$customer = WC()->customer;
$customer->set_is_vat_exempt( true );
} else {
// the next line is only necessary if the user’s exempt status changes dynamically, such as based on billing country
$customer->set_is_vat_exempt( false );
}
}
B2BKing – WooCommerce B2B ve Toptan Satış Eklentisi
Umarım yukarıda paylaştığım bazı bilgiler işinize yarar. WooCommerce'ı B2B işlevleriyle donatmak karmaşık bir iştir ve premium bir eklenti satın almaya karar verdiyseniz, zamanınızı kodu kendiniz yazmaktan daha iyi kullanmaya karar verdiyseniz, sizi suçlamıyorum Gerçekten, sizi hiç yargılamayacağım.
Bunu akılda tutarak, B2BKing hakkında birkaç kelime paylaşacağım. Bu, WooCommerce'i maliyetli SAAS platformlarına alternatif, yetenekli bir B2B çözümüne dönüştürmek amacıyla ekibimle birlikte bir süredir üzerinde çalıştığımız bir proje.
Uzun vadeli bir proje olarak sürekli geliştiriyor ve destekliyoruz ve şu anda işletme kaydı, vergi muafiyetleri, dinamik fiyatlandırma kuralları, KDV desteği, yerleşik mesajlaşma sistemi, hesapta birden fazla alıcı, teklifler dahil 137'den fazla özelliğe sahip. özel bir B2B&B2C hibrit modu ve çok daha fazlası.
Bu hafta, Envato tarafından “ Haftanın Öne Çıkan Eklentisi ” olarak seçilmekten ve CodeCanyon ön sayfasında sergilenmekten gurur duyuyoruz.
Hem arka uç hem de ön uç olarak istediğiniz zaman test edebileceğiniz bir canlı demo sunuyoruz: Canlı Demo
Makale, eklenti hakkında herhangi bir sorunuz varsa veya sadece merhaba demek istiyorsanız, çekinmeyin! Arkadaş canlısı komşu eklenti geliştiricinize ulaşmaktan memnuniyet duyarız.