חיפוש ]

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

ווקומרס שומרת את מספר היחידות שנמכרו עבור כל מוצר. הצגת מספר זה בעמוד המוצר יכולה לשמש כהוכחה חברתית (Social Proof) ולסייע בהגדלת ההמרות. בואו נראה כיצד להציג את כמות המוצרים שנמכרו ליד כפתור ״הוסף לעגלה״ בחנויות ווקומרס.

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

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

הצגת כמות המכירות בעמוד המוצר

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

function sv_product_sold_count() {
    global $product;

    $units_sold = $product->get_total_sales();

    if ( $units_sold > 50 ) {
        echo '<p class="units-sold">' . esc_html( $units_sold ) . ' sold</p>';
    }
}
add_action( 'woocommerce_single_product_summary', 'sv_product_sold_count', 11 );

שורה 4 משתמשת במתודת ה-CRUD של ווקומרס get_total_sales() כדי לשלוף את מספר היחידות שנמכרו. זהו הגישה המומלצת מאז ווקומרס 3.0 – היא מפשטת את שכבת הנתונים, כך שהקוד שלכם יעבוד ללא תלות באופן שבו ווקומרס מאחסנת את נתוני המוצרים.

הסף בשורה 6 (50 בדוגמה זו) קובע את מספר המכירות המינימלי לפני שהכמות מוצגת. התאימו מספר זה בהתאם לחנות שלכם. הצגת ״3 נמכרו״ בעמוד מוצר כנראה לא תעורר אמון, בעוד ש-״500 נמכרו״ יוצרת הוכחה חברתית חזקה.

שורה 8 מוציאה את הכמות עטופה בפסקה עם המחלקה units-sold, שאותה תוכלו לעצב עם CSS. הפונקציה esc_html() מוודאת שהפלט מאובטח כראוי.

למה get_total_sales() ולא get_post_meta()?

מדריכים ישנים יותר משתמשים ב-get_post_meta( $product->get_id(), 'total_sales', true ) כדי לשלוף את כמות המכירות. זה עדיין עובד, אבל מבצע שאילתה ישירה לטבלת wp_postmeta.

המתודה get_total_sales() היא חלק מ-CRUD API של ווקומרס. היא קוראת מה-data store של אובייקט המוצר, כלומר היא תמשיך לעבוד גם אם ווקומרס תשנה את אופן אחסון נתוני המוצרים (בדומה לאופן שבו HPOS שינה את אחסון ההזמנות).

תמיד העדיפו את מתודות אובייקט המוצר של ווקומרס על פני קריאות ישירות ל-get_post_meta() כשעובדים עם נתוני מוצרים. ה-CRUD API הוא הגישה העמידה לעתיד.

שינוי מיקום התצוגה

ה-hook בשם woocommerce_single_product_summary עם priority 11 מציב את כמות המכירות מיד אחרי שם המוצר. תוכלו לשנות את המיקום על ידי שימוש ב-hook אחר או שינוי ה-priority.

hooks נפוצים של ווקומרס לעמוד המוצר כוללים:

  • woocommerce_before_single_product_summary – לפני אזור תקציר המוצר
  • woocommerce_single_product_summary – בתוך התקציר, ה-priority קובע את המיקום ביחס לשם, מחיר, תיאור וכפתור ההוספה לעגלה
  • woocommerce_after_single_product_summary – אחרי התקציר, ליד הטאבים

לדוגמה, כדי להציג את הכמות מיד אחרי המחיר, השתמשו ב-priority 15:

add_action( 'woocommerce_single_product_summary', 'sv_product_sold_count', 15 );

עיצוב הפלט

הוסיפו CSS כדי לעצב את תצוגת כמות המכירות. הנה דוגמה פשוטה:

.units-sold {
    font-size: 14px;
    color: #7a7a7a;
    margin: 5px 0;
}

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

שאלות נפוצות

שאלות נפוצות בנושא הצגת כמות מוצרים שנמכרו בווקומרס:

מתי ווקומרס מעדכנת את ספירת total_sales?
ווקומרס מגדילה את ספירת total_sales כאשר סטטוס הזמנה משתנה ל-"completed" או "processing". אם הזמנה מקבלת החזר כספי או מבוטלת, הספירה יורדת בהתאם.
האם ספירת המכירות כוללת וריאציות של מוצר משתנה?
כן. עבור מוצרים משתנים (Variable Products), get_total_sales() מחזירה את הסך הכולל של כל מכירות הוריאציות עבור מוצר האב. אין צורך לסכם וריאציות בודדות באופן ידני.
אפשר להשתמש ב-get_post_meta() במקום get_total_sales()?
כן, get_post_meta( $product->get_id(), 'total_sales', true ) עדיין עובד. אולם, היא עוקפת את ה-CRUD API של ווקומרס ומבצעת שאילתה ישירה למסד הנתונים. המתודה get_total_sales() היא הגישה המומלצת כי היא עמידה לעתיד ועובדת עם כל data store.
איך להציג את כמות המכירות בעמוד הקטגוריה/ארכיון במקום?
החליפו את ה-hook ל-hook שפועל בעמודי ארכיון, כמו woocommerce_after_shop_loop_item_title. הלוגיקה של הפונקציה נשארת זהה - אובייקט ה-$product הגלובלי זמין בלולאות של ווקומרס.
האם כמות המכירות מתעדכנת אוטומטית כשמתבצעת הזמנה חדשה?
כן. ווקומרס מעדכנת את ערך total_sales באופן אוטומטי כאשר סטטוסי הזמנות משתנים. אם אתם משתמשים בתוסף caching, ייתכן שתצטרכו לנקות את המטמון של עמוד המוצר כדי שהכמות המעודכנת תופיע מיד.

סיכום

הצגת מספר המוצרים שנמכרו בעמוד המוצר בווקומרס היא דרך פשוטה ואפקטיבית להוסיף הוכחה חברתית. השתמשו ב-$product->get_total_sales() כדי לשלוף את הכמות, הגדירו סף כדי להימנע מהצגת מספרים נמוכים, וחברו את הפונקציה ל-woocommerce_single_product_summary כדי לשלוט במיקום. כמה שורות קוד יכולות לתת ללקוחות שלכם את הביטחון שאחרים כבר רכשו את המוצר.

דיון ותגובות
3 תגובות  ]
  • אלרון 25 ספטמבר 2020, 6:21

    מגניב ושימושי, תודה רבה!

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

  • עדי 10 נובמבר 2023, 13:17

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

השאירו תגובה

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

Savvy WordPress Development official logo