WooCommerce B2B: วิธีการตั้งค่าร้านขายส่ง

เผยแพร่แล้ว: 2020-06-09

ภาคอีคอมเมิร์ซมีการเติบโตอย่างไม่น่าเชื่อทุกปีโดยไม่มีจุดสิ้นสุดที่คาดการณ์ได้ เช่นเดียวกับอีคอมเมิร์ซ B2B แต่ไม่มีตัวเลือกแพลตฟอร์มที่ดีมากมายสำหรับธุรกิจขนาดเล็กถึงขนาดกลางที่ต้องการขายแบบขายส่ง มีโซลูชัน SaaS มากมายในตลาด แต่โซลูชันเหล่านี้มีค่าใช้จ่ายสูง ปิดแหล่งที่มา และมุ่งเน้นไปที่ธุรกิจขนาดใหญ่เป็นส่วนใหญ่

หากคุณเป็นเจ้าของธุรกิจหรือนักพัฒนา WooCommerce เป็นโซลูชันที่ฟรี ใช้งานได้หลากหลาย และมีประสิทธิภาพ

WooCommerce เหมาะกับร้าน B2B หรือไม่?

“นอกกรอบ” มันไม่ใช่ WooCommerce เป็นโซลูชันที่ยอดเยี่ยมสำหรับร้านค้าอีคอมเมิร์ซ แต่ไม่ได้พัฒนาขึ้นมาสำหรับการขายส่งโดยเฉพาะ ดังนั้นจึงไม่มีตัวเลือกที่สำคัญมากมายในตอนแรก อย่างไรก็ตาม คุณสามารถใช้ปลั๊กอินขายส่งที่มีประสิทธิภาพ เช่น B2BKing เพื่อขยาย WooCommerce และเพิ่มฟังก์ชันการทำงานแบบธุรกิจกับธุรกิจทั้งหมดที่คุณอาจต้องการ

มีอีกสองประเด็นที่คุณควรระวังเมื่อเลือก WooCommerce สำหรับโครงการ B2B ของคุณ:

  • WooCommerce จะต้องมีการอัปเดตปลั๊กอินเป็นประจำเพื่อให้แน่ใจว่ามีความปลอดภัยและทำงานอย่างถูกต้อง
  • ขึ้นอยู่กับโฮสติ้งและการกำหนดค่าเว็บไซต์ของคุณ บางครั้งสภาพแวดล้อมของ WordPress อาจทำงานช้าเล็กน้อย อย่างไรก็ตาม มีวิธีเพิ่มประสิทธิภาพและเร่งความเร็วได้ เช่น ผ่านปลั๊กอิน เช่น WP Rocket (หรือปลั๊กอินการแคชและการเพิ่มประสิทธิภาพอื่นๆ)

แม้ว่าจะไม่ได้สมบูรณ์แบบ แต่ปัจจุบัน WooCommerce เป็นผู้ขับเคลื่อนร้านค้าออนไลน์มากกว่า 20% ของโลก และมีเหตุผลที่ดีสำหรับสิ่งนั้น: ฟรี โอเพ่นซอร์ส ทรงพลัง และปลอดภัย คุณสมบัติเดียวกันนี้ทำให้เป็นตัวเลือกที่ดีสำหรับร้านค้าส่ง

ร้าน B2B แตกต่างจาก e-store ทั่วไปอย่างไร?

การขายระหว่างธุรกิจกับธุรกิจมักเป็นประสบการณ์ที่แตกต่างและเป็นส่วนตัวมากกว่าการขายตรงให้กับผู้บริโภค ผู้ซื้อธุรกิจมีความรู้ เปิดรับการเจรจา และต้องการรับข้อเสนอและส่วนลดที่ยอดเยี่ยมสำหรับการซื้อจำนวนมาก แคตตาล็อกราคา ตัวเลือกส่วนลด และตัวเลือกการชำระเงินและการจัดส่งอาจแตกต่างกันไปในแต่ละลูกค้า ขึ้นอยู่กับปัจจัยต่างๆ เช่น ขนาดธุรกิจ ขนาดคำสั่งซื้อ หรือความสัมพันธ์ทางธุรกิจที่มีอยู่

จากมุมมองด้านการพัฒนาเว็บไซต์ สิ่งนี้หมายความว่าจำเป็นต้องมีความยืดหยุ่นทางเทคนิคในระดับสูง ในเรื่องการกำหนดราคา ส่วนลด การจัดส่ง และกฎการสั่งซื้อ

การขายให้กับธุรกิจยังแนะนำความต้องการคุณลักษณะต่างๆ เช่น:

  • ซ่อนราคาสำหรับแขก
  • แบบฟอร์มจดทะเบียนธุรกิจ
  • รองรับหมายเลขภาษีมูลค่าเพิ่ม (หรือหมายเลขประจำตัวผู้เสียภาษีอื่นๆ)
  • การยกเว้นภาษี
  • ขอใบเสนอราคา
  • ช่องการเรียกเก็บเงินและการชำระเงินที่กำหนดเอง
  • แบบฟอร์มการสั่งซื้อขายส่ง
  • ความสามารถในการรองรับผู้ใช้หลายคนในบัญชีผู้ซื้อ (สำหรับโครงสร้างองค์กร)

มาดูกันว่าคุณลักษณะเหล่านี้บางส่วนสามารถนำมาใช้ใน WooCommerce ได้อย่างไร ส่วนถัดไปจะเน้นไปที่นักพัฒนามากขึ้น และฉันจะแบ่งปัน ข้อมูลโค้ดบางส่วน ที่ฉันหวังว่าคุณจะพบว่ามีประโยชน์ เช่นเดียวกับ ปลั๊กอินฟรี ที่คุณสามารถใช้ได้

1. ซ่อนราคาสำหรับผู้ใช้ทั่วไป

มาเริ่มกันด้วยเรื่องง่ายๆ กันก่อน คุณสามารถทำได้ด้วยตัวกรอง WooCommerce สองตัว ขั้นแรก ให้ใช้ woocommerce_get_price_html เพื่อเปลี่ยนราคาที่แสดงเป็น “เข้าสู่ระบบเพื่อดูราคา”

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;
}
}

เมื่อเราดำเนินการเสร็จสิ้นแล้ว ราคาจะไม่ปรากฏให้เห็นอีกต่อไปและจะถูกแทนที่ด้วยข้อความของเรา เท่านั้นยังไม่พอ เนื่องจากผู้ใช้ยังสามารถเพิ่มสินค้าเหล่านี้ลงในรถเข็นและดูราคาได้ เราจัดเตรียมโซลูชันโดยตัวกรอง woocommerce_is_purchasable ที่มีชื่อเหมาะสม

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;
	}
}

หลังจากที่คุณเพิ่มสิ่งนี้แล้ว ผู้ใช้ที่เป็นแขกไม่ควรซื้อผลิตภัณฑ์อีกต่อไป และปุ่ม "เพิ่มลงในรถเข็น" จะไม่สามารถใช้ได้อีกต่อไป อีกสิ่งหนึ่งที่ควรค่าแก่การกล่าวคือ คุณอาจประสบปัญหาเมื่อใช้แบบฟอร์มการค้นหา AJAX ทั้งนี้ขึ้นอยู่กับวิธีการตั้งค่า วิธีที่รวดเร็วในการแก้ไขนั้นคือการเพิ่มโค้ดด้านบนลงในโค้ดหลักของคุณ และตรวจสอบ AJAX โดยใส่โค้ดไว้ข้างใน :

if ( wp_doing_ajax() ){ 
// code here
}

ผลลัพธ์สุดท้าย:

หากคุณสนใจทางเลือกอื่นของปลั๊กอินเนื่องจากคุณไม่คุ้นเคยกับการเขียนโค้ด B2BKing มีฟังก์ชันนี้และฟังก์ชันการจำกัดการเข้าถึงของผู้เยี่ยมชมอื่นๆ เช่น ตัวเลือกในการซ่อนเว็บไซต์ทั้งหมด หรือซ่อนราคาสำหรับแต่ละผลิตภัณฑ์หรือหมวดหมู่

2. การลงทะเบียนธุรกิจหรือแบบฟอร์มการลงทะเบียน B2B และ B2C แยกต่างหาก

สิ่งที่คุณต้องการทำที่นี่คือการเพิ่มฟิลด์ที่กำหนดเองเช่น "ชื่อบริษัท", "ที่อยู่", "รหัสภาษีมูลค่าเพิ่ม" ฯลฯ

คุณสามารถใช้รหัสนี้เพื่อเพิ่มฟิลด์ที่กำหนดเองสำหรับชื่อบริษัท:

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">';
}

หากคุณต้องการซิงค์ฟิลด์นี้กับฟิลด์การเรียกเก็บเงินของ WooCommerce สำหรับชื่อบริษัทในการลงทะเบียน คุณสามารถทำได้โดยใช้ woocommerce_created_customer hook และบันทึกชื่อบริษัทเป็น meta ของผู้ใช้ โดยใช้ฟิลด์เดียวกับที่ WooCommerce ใช้: billing_first_name, billing_company, billing_city, ฯลฯ :

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 );
}
}

คุณจะสร้างฟิลด์แบบฟอร์ม B2B และ B2C แยกจากกันได้อย่างไร คุณสามารถเพิ่มช่อง "เลือก" เพื่อลงทะเบียนตามวิธีที่อธิบายไว้ข้างต้น และใช้ JavaScript เล็กน้อยเพื่อพิจารณาว่าผู้ใช้เลือก "บุคคล" หรือ "บริษัท" แสดงหรือซ่อนช่องการลงทะเบียน เช่น ชื่อบริษัท ขึ้นอยู่กับว่าผู้ใช้เลือกอะไร

หากคุณต้องการหลีกเลี่ยงการเข้ารหัส มีปลั๊กอินฟรีที่ช่วยขยายเวลาการลงทะเบียน เช่น https://wordpress.org/plugins/user-registration/ ที่มีตัวเลือกสำหรับแบบฟอร์มการลงทะเบียนหลายแบบ แม้ว่าการสร้างการลงทะเบียนเฉพาะ B2B อาจต้องใช้ ทำงานพิเศษเล็กน้อยในด้านของคุณ

หากคุณกำลังมองหาโซลูชันระดับพรีเมียม B2BKing มีรหัสย่อที่ใช้งานง่ายซึ่งคุณสามารถเพิ่มลงในหน้าใดก็ได้และสร้างแบบฟอร์มการลงทะเบียนธุรกิจ

3. แบบฟอร์มการสั่งซื้อขายส่ง

ลูกค้าธุรกิจมักจะรู้ว่าพวกเขาต้องการอะไรอย่างถ่องแท้ถึง SKU ดังนั้นการเพิ่มแบบฟอร์มคำสั่งซื้อแบบขายส่งในเว็บไซต์ของคุณทำให้สามารถสั่งซื้อให้กับลูกค้าได้อย่างรวดเร็ว และทำให้คุณดูเป็นมืออาชีพ

คุณจะเพิ่มได้อย่างไร ไม่มีข้อมูลโค้ดด่วนที่สามารถทำได้ ดังนั้นฉันคิดว่าปลั๊กอินคือทางออกที่ดีที่สุดของคุณ

มีปลั๊กอินฟรีที่ฉันทดสอบเป็นการส่วนตัว ซึ่งดูดีและใช้งานได้ดี: https://wordpress.org/plugins/woocommerce-bulk-order-form/

B2BKing ยังมีการใช้งานที่เป็นกรรมสิทธิ์ของตัวเอง ซึ่งคุณสามารถดูได้ในภาพถัดไป:

4. โครงสร้างราคาขายส่ง

คำถามที่เกี่ยวข้องที่นี่คือ: จะตั้งค่าราคาที่แตกต่างกันสำหรับผู้ใช้ที่แตกต่างกันได้อย่างไร มี 2 ​​วิธีในการดำเนินการนี้: เปลี่ยนราคาโดยตรงหรือเพิ่มส่วนลด

หากต้องการเพิ่มส่วนลดรถเข็นสำหรับผู้ใช้หรือหมวดหมู่ของผู้ใช้ ให้ใช้รหัสนี้:

add_action( 'woocommerce_cart_calculate_fees', 'b2bking_cart_discount' );

function b2bking_cart_discount( $cart ){
$cart->add_fee( 'B2B Discount', -10 );
}

รหัสด้านบนใช้กลอุบายเล็กน้อยโดยเพิ่มค่าธรรมเนียมติดลบ ซึ่งเป็นส่วนลด รหัสด้านบนไม่ได้ช่วยอะไรมาก แค่เพิ่มส่วนลด 10 ดอลลาร์สำหรับผู้ใช้ทั้งหมด มาขยายโค้ดกันสักหน่อย:

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 );
	}
}

เป็นยังไงบ้าง? ตอนนี้โค้ดจะตรวจสอบว่าสถานะเมตาของผู้ใช้คือ ' b2b' และให้ส่วนลดเฉพาะผู้ใช้ b2b เท่านั้น

คุณจะกำหนดสถานะเมตาได้อย่างไร? คุณสามารถตั้งค่านั้นในการลงทะเบียนโดยใช้ woocommerce_created_customer hook ที่ฉันใช้ด้านบนในส่วนบทความที่ 2 และโค้ดบรรทัดง่ายๆ ฟังก์ชัน update_user_meta ใช้สำหรับทั้งการอัปเดตและการสร้างเมตาผู้ใช้

update_user_meta( $user_id, 'user_status', 'b2b' );

จะทำอย่างไรถ้าคุณต้องการกำหนดโครงสร้างที่ซับซ้อนในราคาที่แตกต่างกันสำหรับผลิตภัณฑ์ที่แตกต่างกันสำหรับผู้ใช้ที่แตกต่างกัน

สิ่งนี้ซับซ้อนขึ้นเล็กน้อย แต่คุณสามารถใช้หลักการเดียวกันได้ ใน WooCommerce ผลิตภัณฑ์คือ "โพสต์" และคุณสามารถตั้งค่าข้อมูลเมตาของโพสต์ได้ ตัวอย่างเช่น คุณสามารถเพิ่มเมตาของโพสต์ชื่อ b2b_price เพื่อให้มีราคาแยกต่างหากสำหรับผู้ใช้ b2b นี่คือรหัส

update_post_meta( $post_id, 'b2b_price', 15 ); // 15 is the price for b2b users

คุณแสดงราคานี้ต่อผู้ใช้ b2b เท่านั้นได้อย่างไร?

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. การจัดตั้งการยกเว้นภาษี

วิธีนี้ง่ายกว่าที่คุณคิด! มีฟังก์ชันที่มีประโยชน์มากที่คุณสามารถใช้ใน WooCommerce ซึ่งจะทำสิ่งนี้ให้คุณและแม้กระทั่งดูแลการแสดงราคาในสถานการณ์ส่วนใหญ่: set_is_vat_exempt() ชื่อดีใช่มั้ย?

ฟังก์ชันนี้จะทำให้ผู้ใช้ B2B เห็นราคาที่มีส่วนต่อท้าย "ไม่รวมภาษี" ในขณะที่ผู้ใช้ B2C เห็นราคาว่า "รวมภาษีแล้ว"

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 & ปลั๊กอินขายส่ง

ฉันหวังว่าบางสิ่งที่ฉันแบ่งปันข้างต้นจะเป็นประโยชน์กับคุณ การติดตั้ง WooCommerce ด้วยฟังก์ชัน B2B เป็นงานที่ซับซ้อน และฉันจะไม่ตำหนิคุณหากคุณตัดสินใจซื้อปลั๊กอินพรีเมียมเป็นการใช้เวลาของคุณดีกว่าการเขียนโค้ดด้วยตัวเอง จริง ๆ แล้วฉันจะไม่ตัดสินคุณเลย

ด้วยเหตุนี้ ฉันจะแบ่งปันคำสองสามคำเกี่ยวกับ B2BKing นี่เป็นโครงการที่ฉันและทีมทำงานมาระยะหนึ่งแล้ว โดยมีเป้าหมายที่จะเปลี่ยน WooCommerce ให้เป็นโซลูชัน B2B ที่มีความสามารถ ซึ่งเป็นทางเลือกแทนแพลตฟอร์ม SAAS ที่มีราคาแพง

เรากำลังพัฒนาและสนับสนุนอย่างต่อเนื่องเป็นโครงการระยะยาว และขณะนี้มีคุณสมบัติมากกว่า 137 อย่างรวมถึง การจดทะเบียนธุรกิจ การยกเว้นภาษี กฎการกำหนดราคาแบบไดนามิก การสนับสนุนด้านภาษีมูลค่าเพิ่ม ระบบการส่งข้อความในตัว ผู้ซื้อหลายรายในบัญชี ข้อเสนอ โหมดไฮบริด B2B&B2C โดยเฉพาะ และ อีกมากมาย

สัปดาห์นี้ เราภูมิใจที่ได้รับการคัดเลือกจาก Envato ให้เป็น " ปลั๊กอินเด่นประจำสัปดาห์ " และแสดงบนหน้าแรกของ CodeCanyon

เรามีการสาธิตสดที่คุณสามารถทดสอบได้ตลอดเวลา ทั้งแบ็กเอนด์และฟรอนท์เอนด์: สาธิตสด

หากคุณมีคำถามเกี่ยวกับบทความ เกี่ยวกับปลั๊กอิน หรือเพียงแค่ต้องการทักทาย ไม่ต้องอาย! รู้สึกยินดีเป็นอย่างยิ่งที่จะติดต่อผู้พัฒนาปลั๊กอินเพื่อนบ้านที่เป็นมิตรของคุณ