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

· צוות Lux AI · זמן ביצוע: כ-10 דקות

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

איך מתקינים: תוסף Code Snippets (הדרך המומלצת)

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

  1. בלוח הניהול: Plugins ← Add New Plugin, חפשו Code Snippets, התקינו והפעילו. (אם התוסף כבר מותקן אצלך, דלגי לשלב הבא.)
  2. בתפריט הצד יופיע Snippets. היכנסו אל Snippets ← Add New.
  3. תנו לקטע שם (למשל ״Lux AI — add several products to cart״) והדביקו את הקוד שבהמשך בעורך ה-PHP.
  4. השאירו את האפשרות Run snippet everywhere מסומנת ולחצו Save Changes and Activate.
מסך Add New Snippet של תוסף Code Snippets עם קטע הקוד של Lux AI וכפתור Save Changes and Activate
כך זה נראה בתוסף Code Snippets לפני השמירה. שימו לב שהקטע מוגדר לרוץ בכל האתר.

וזה הקוד המלא להדבקה:

הקוד להדבקה (PHP)
/**
 * Lux AI widget: support ?add-to-cart=ID1,ID2,ID3 (add several products at once).
 * Runs before WooCommerce core handles add-to-cart (default priority 20).
 */
add_action( 'wp_loaded', function () {
    if ( empty( $_REQUEST['add-to-cart'] ) || ! is_string( $_REQUEST['add-to-cart'] ) ) {
        return;
    }
    if ( strpos( $_REQUEST['add-to-cart'], ',' ) === false ) {
        return; // single id — let WooCommerce core handle it
    }
    if ( ! function_exists( 'WC' ) || is_null( WC()->cart ) ) {
        return;
    }
    $ids = array_filter( array_map( 'absint', explode( ',', $_REQUEST['add-to-cart'] ) ) );
    // Stop core from choking on the (invalid) combined id.
    unset( $_REQUEST['add-to-cart'], $_GET['add-to-cart'], $_POST['add-to-cart'] );
    foreach ( $ids as $id ) {
        $product = wc_get_product( $id );
        if ( $product && $product->is_purchasable() && $product->is_in_stock() ) {
            WC()->cart->add_to_cart( $id );
        }
    }
    wp_safe_redirect( wc_get_cart_url() );
    exit;
}, 15 );

דרך חלופית למי שעובדת עם מפתח אתרים: להוסיף את אותו קוד לקובץ functions.php של תבנית הבת (Child Theme). חשוב: רק בתבנית הבת, לא בתבנית הראשית, כי עדכון תבנית מוחק שינויים ידניים.

בודקים שזה עובד

  1. מצאו שני מזהי מוצרים בחנות (Products ← מרחפים מעל מוצר ורואים ID), למשל 101 ו-205.
  2. פתחו בחלון גלישה בסתר את הכתובת https://האתר-שלך/?add-to-cart=101,205.
  3. אם הגעתם לעגלה ושני המוצרים בפנים, הכול תקין. עדכנו אותנו ואנחנו מדליקים את כפתור הקנייה בווידג'ט שלך.

שלוש נקודות ששוות הכרות

  • מוצר שאזל או שלא נמכר אונליין מדולג בשקט. הלקוחה תקבל בעגלה את שאר הסט. זה מכוון: עדיף עגלה חלקית מעגלה תקועה.
  • הקוד לא נוגע בקישורים רגילים. קישור עם מוצר אחד ממשיך לעבוד בדיוק כמו קודם. הקוד מתערב רק כשיש כמה מזהים עם פסיק.
  • מומלץ לחבר גם את שיוך הרכישות. קנייה שנסגרת בחנות נרשמת בדוחות של Lux רק אם חיברת את ה-webhook מהמדריך על שיוך רכישות מ-WooCommerce. שני החיבורים יחד נותנים גם עגלה מלאה וגם דוח מדויק.

לא מרגישה בנוח להדביק קוד? נעשה את זה בשבילך

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