בעלי חנויות אשר מוכרים מוצרים בזול או אשר מעוניינים להגביל את כמות הרכישה למינימום מסויים, צריכים לרוב לשלם למתכנת וורדפרס על מנת שיבנה להם את המנגנון הזה, במאמר הבא אנו נלמד כיצד להוסיף את המנגנון הזה בצורה פשוטה מאוד לחנות שלנו, וכך להגביל את המשתמשים לרכישה מינימלית לפני שהם יוכלו להמשיך לתשלום ולסיים את הרכישה.

לוגו של טלגרם הצטרפו לערוץ הטלגרם וקבלו עדכון כאשר מאמר חדש מתפרסם!

שלב ראשון – בדיקת סכום העגלה והצגת הודעה

בשלב הראשון אנו נרצה לבצע בדיקה של סכום המוצרים בעגלה, ובהתאם במידה והסכום לא עובר את המינימום, נרצה להציג הודעה למשתמש אשר מודיעה לו כי עליו להגיע לסכום רכישה מינימלי לפני שהוא יוכל להמשיך ברכישה.

נפתח את קובץ הפונקציות של התבנית שלנו functions.php ונדביק בסופו את הקוד הבא:

/**
 * Check if cart reached minimum amount, if not - display notice.
 */
function dorzki_wc_minimum_cart_check() {

	// Minimum cart total.
	$minimum_amount = 150;

	if( WC()->cart->subtotal < $minimum_amount ) {

		wc_print_notice( sprintf( __( 'You need to meet the required minimum of <strong>%s</strong> in order to procced to checkout.', 'woocommerce' ), wc_price( $minimum_amount ) ), 'error' );

	}

}

add_action( 'woocommerce_before_cart', 'dorzki_wc_minimum_cart_check' );

אנו משתמשים בפונקצייה WC() על מנת לקבל את המחלקה הראשית של WooCommerce וממנה אנו ניגשים לעגלה ובודקים האם סכום העגלה עבר את המינימום, במידה ולא, אנו מציגים התראת שגיאה לגולש.

צילום מסך של הגבלה סכום העגלה למינימום

שלב שני – הסרת כפתור Checkout

בשלב זה נרצה להסיר את כפתור התשלום במידה והגולש לא הגיע לכמות המינימום, על מנת לעשות זאת, נלך לקוד מהצד הקודם ונוסיף את שורת הקוד הבאה, ממש אחרי הפונקציה wc_print_notice:

remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );

כעת, כל פעם שהגולש לא הגיע לסכום המינימום, מלבד הודעת השגיאה, כפתור ההמשך לתשלום לא יוצג גם הוא.

שלב שלישי – הגבלת הגישה לעמוד Checkout

מכיוון שאנחנו בתור מתכנתים ובעלי אתרים לא סומכים על הגולש, הסרת כפתור התשלום לא תמיד תעזור, כי תמיד אפשר יהיה להגיע לעמוד ה-Checkout ע״י גישה ישירה, לכן על מנת למנוע מצב זה נוסיף הגבלה גם בעמוד התשלום באופן הבא:

/**
 * If trying to access checkout directly without the required minimum. redirect to cart.
 */
function dorzki_wc_minimum_disable_checkout() {

	// Minimum cart total.
	$minimum_amount = 150;

	if( WC()->cart->subtotal < $minimum_amount && is_checkout() ) {

		wp_redirect( wc_get_cart_url() );
		exit;

	}

}

add_action( 'template_redirect', 'dorzki_wc_minimum_disable_checkout' );

סיכום

הגבלת כמות מינימום לרכישה, הוא פיצ׳ר אשר לא נפוץ במיוחד, אבל עבור מי שזה דרוש הקוד הבא יכול להקל על חייו באופן משמעותי.

דור צוברי

מתכנת מגיל 13, ומתעסק עם וורדפרס מגיל 18, אוהב לפצח אתגרים ולפתח דברים מורכבים על בסיס וורדפרס. עצמאי מגיל 16, מרצה ובלוגר. בזמן הפנוי שלי אוהב מאוד לקרוא קומיקס של MARVEL.

דור צוברי

תגובות לפוסט

כתיבת תגובה