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

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

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

שלב ראשון – הוספת כפתור בעמוד מוצר

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

/**
 * Inject buy now button to product page.
 */
function dorzki_wc_buy_now_product_page_button() {

	global $product;

	printf( '<button type="submit" name="buy-now" value="%d" class="single_add_to_cart_button buy_now_button button alt">%s</button>', $product->get_ID(), esc_html__( 'Buy Now', 'dorzki-wc-buy-now' ) );

}

add_action( 'woocommerce_after_add_to_cart_button', 'dorzki_wc_buy_now_product_page_button' );

קוד זה מוסיף את כפתור הרכישה מיד אחרי כפתור ההוספה לסל של ווקומרס.

צילום מסך של כפתור רכישה מהירה

שלב שני – הוספת כפתור בעמוד קטגוריה

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

/**
 * Inject buy now button to product archive page.
 *
 * @return bool
 */
function dorzki_wc_buy_now_product_archive_button() {

  global $product;

  if ( ! $product->is_type( 'simple' ) ) {
    return false;
  }

  printf( '<a href="%s?buy-now=%s" data-quantity="1" class="button product_type_simple add_to_cart_button  buy_now_button" data-product_id="%s" rel="nofollow">%s</a>', wc_get_checkout_url(), $product->get_ID(), $product->get_ID(), esc_html__( 'Buy Now', 'dorzki-wc-buy-now' ) );

}

add_action( 'woocommerce_after_shop_loop_item', 'dorzki_wc_buy_now_product_archive_button', 20 );

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

שלב שלישי – טיפול בבקשת רכישה מהירה

בשלב האחרון עלינו לטפל בלחיצה על הכפתור רכישה מהירה בעמוד מוצר או בלחיצה על קישור הרכישה המהירה בעמודי הארכיון, לכן נשתמש בהוק wp_loaded על מנת להריץ את הבקשה שלנו לאחר שוודפרס והתוספים נטענו, נעתיק את הקוד הבא ונוסיף גם אותו לסוף הקובץ functions.php של התבנית שלנו.

/**
 * Handle the click on buy now button.
 *
 * @return bool
 */
function dorzki_wc_buy_now_handle_buy_now_request() {

	if ( ! isset( $_REQUEST['buy-now'] ) ) {
		return false;
	}

	WC()->cart->empty_cart();

	$product_id = absint( $_REQUEST['buy-now'] );

	if ( isset( $_REQUEST['variation_id'] ) ) {

		$variation_id = absint( $_REQUEST['variation_id'] );

		WC()->cart->add_to_cart( $product_id, 1, $variation_id );

	} else {

		WC()->cart->add_to_cart( $product_id );

	}

	wp_safe_redirect( wc_get_checkout_url() );
	exit;

}

add_action( 'wp_loaded', 'dorzki_wc_buy_now_handle_buy_now_request' );

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

סיכום

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

דור צוברי

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

דור צוברי

תגובות לפוסט

כתיבת תגובה

תגובה אחת

  1. רועי

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

    1. מחבר
      דור צוברי

      היי רועי,
      כמו שרשמתי ייתכן שבתבניות שונות זה יראה שונה, עם טיפה CSS תוכל להביא אותם לאותה השורה.

  2. בן

    מאמר מעולה. שימושי מאוד!
    הכפתור מופיע לי באנגלית( ׁBUY NOW) יש דרך לעברת את זה?

    1. מחבר
      דור צוברי

      היי בן,
      בשלב הראשון אתה יכול לראות שרשום ״Boy Now״, פשוט תשנה את זה לטקסט הרצוי.

  3. אליה

    דור קודם כל תודה רבה העלתי את התוסף וזה עובד מצוין
    יש אפשרות לערוך אותו?
    הוא מופיע בצמוד לכפתור הוסף לסל

    1. מחבר
      דור צוברי

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

  4. אליה

    תודה על המאמר
    יש תוסף לזה?

    1. מחבר
      דור צוברי

      היי אליה,
      כן, יש בראש הפוסט, כפתור להורדת קבצי המקור 🙂

  5. אבי

    הי דור,
    נתקלתי ממש במקרה באתר שלך ומצאתי בו חומרים ממש מעניינים. תודה על השיתוף 🙂

    אני די חדש ב woocommerce ואני מחפש כבר זמן מה לבנות דף עם שתי שדות: מק"ט וכמות (ועם 10 שורות לדוגמא) ובסוף העמוד כפתור "הוסף לסל". המטרה היא לאפשר רכישה מהירה של מספר מוצרים מבלי לעבור בכל עמוד של מוצר.
    לא הצלחתי למצוא משהו כזה וגם לא פלאגאין ואשמח אם תוכל לכוון אותי איך ניתן לעשות את זה או לינק למקור מידע שאוכל לקרוא יותר איך לבנות דבר שכזה.

    1. מחבר
      דור צוברי

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

      בעיקרון אתה אמור להשתמש בפונקציה wc_get_product_id_by_sku ולהעביר לה את המק״ט של המוצר והיא תחזיר לך את ה-ID, ואז להשתמש בפונקציה WC()->cart->add_to_cart על מנת להוסיף את המוצר לעגלה.

  6. רחל

    תודה רבה!
    עזר לי מאד

    1. מחבר
      דור צוברי

      היי רחל!
      שמח לשמוע שהמאמר עזר לך, אם יש לך רעיונות למאמרים נוספים מוזמנת לשלוח לי ואכתוב עליהם.

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

  7. מאיר

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

    1. מחבר
      דור צוברי

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

      אתה מוזמן להתקין את התוסף באתר שלך ולראות את זה 🙂

  8. רמי יושובייב

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

    1. מחבר
      דור צוברי

      שמח לשמוע רמי!