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

שלב ראשון – הגבלת כמות רכישה

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

אך במידה ונרצה לעשות זאת באופן גורף, נעשה זאת ע״י פתיחת קובץ functions.php ונדביק את הקוד הבא:

/**
 * Limit the user to purcahse a quantity of 1 for a product.
 */
add_filter( 'woocommerce_is_sold_individually', '__return_true' );

שלב שני – הגבלת כמות מוצרים בעגלה

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

/**
 * Allow the user to only have one product in cart.
 *
 * @param boolean $passed did the request passed validation?
 *
 * @return boolean
 */
function dorzki_allow_only_one_product_in_cart( $passed ) {

	wc_empty_cart();

	return $passed;

}

add_action( 'woocommerce_add_to_cart_validation', 'dorzki_allow_only_one_product_in_cart' );

שלב שלישי – ביטול הודעת ״מוצר נוסף לעגלה״

השלב הבא הוא לבטל את הודעת ברירת המחדל של WooCommerce אשר מודיעה על כך שהמוצר נוסף לסל, נעשה זאת ע״י הקוד הבא:

/**
 * Disable add to cart notice.
 */
add_filter( 'wc_add_to_cart_message_html', '__return_false' );

שלב רביעי – שינוי טקסט כפתור (אופציונלי)

השינוי הבא הוא שינוי אסטתי בלבד, המטרה שלו הוא לשנות את הטקסט של הכפתור מ-״הוסף לסל״ ל-״רכוש כעת״.

/**
 * Change add to cart text.
 *
 * @param string $button_text add to cart button text.
 *
 * @return string
 */
function dorzki_change_add_to_cart_text( $button_text ) {

	return esc_html__( 'רכוש כעת', 'dorzki' );

}

add_filter( 'woocommerce_product_add_to_cart_text', 'dorzki_change_add_to_cart_text' );
add_filter( 'woocommerce_product_single_add_to_cart_text', 'dorzki_change_add_to_cart_text' );

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

על מנת למנוע מצב שהגולש יוכל לגשת לעגלה, נכנס לפאנל הניהול של האתר, נכנס להגדרות WooCommerce, תחת לשונית מוצרים, נלחת על ה-X על מנת לבטל את עמוד עגלה, ולבסוף נלחץ על שמור.

שלב שישי – הפנייה לעמוד תשלום

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

/**
 * Redirect the user to checkout and skip cart.
 *
 * @return string
 */
function dorzki_redirect_user_to_checkout() {

	return wc_get_page_permalink( 'checkout' );

}

add_filter( 'woocommerce_add_to_cart_redirect', 'dorzki_redirect_user_to_checkout' );

סיכום

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

תגובות לפוסט

כתיבת תגובה