יש לכם מוצר בווקומרס שאתם רוצים לתת בחינם? אם תרשמו 0 בשדה המחיר, החנות תציג "0 ש"ח". זה עובד — אבל זה נראה רע. "0 ש"ח" משדר תקלה או מוצר שכוח. המילה "חינם" לעומת זאת משדרת מתנה, והיא מושכת קליקים. שינוי קטן בתצוגה, הבדל גדול בתחושה.
אז בואו נעשה את זה. כל מה שצריך הוא קטע קוד אחד קצר.
איפה שמים את הקוד?
יש שתי דרכים להוסיף את הקוד לאתר:
- תוסף Code Snippets — הדרך הבטוחה והמומלצת. מוסיפים סניפט חדש, מדביקים ומפעילים. הקוד שורד עדכוני תבנית, ואפשר לכבות אותו בקליק. להורדה: Code Snippets
- קובץ functions.php — רק בתבנית בת (Child Theme). קוד בתבנית הראשית נמחק בעדכון הבא שלה
הקוד: מחליפים 0 ש"ח ב"חינם"
/**
* Snippet Name: WooCommerce Change "$0.00" to "Free"
* Snippet Author: ecommercehints.com
*/
add_filter( 'woocommerce_get_price_html', 'ecommercehints_change_zero_price_display', 10, 2 );
function ecommercehints_change_zero_price_display( $price, $product ) {
if (empty($product->get_price()) || $product->get_price() == 0) { // If price is not entered or set to 0
$price = __( 'Free', 'woocommerce' );
}
return $price;
}
מה הקוד עושה?
נפרק אותו לשלושה חלקים פשוטים:
- הפילטר —
woocommerce_get_price_htmlהוא ה"וו" של ווקומרס שאחראי על תצוגת המחיר. אנחנו נתלים עליו ומתערבים רגע לפני שהמחיר מוצג - התנאי — הפונקציה בודקת אם המחיר ריק או שווה לאפס. רק אז היא פועלת. מוצרים עם מחיר רגיל לא מושפעים בכלל
- ההחלפה — במקום המחיר, הפונקציה מחזירה את המילה "Free" דרך מערכת התרגום של ווקומרס
ולמה בעצם יופיע "חינם" ולא "Free"? כי הקוד משתמש ב-__( 'Free', 'woocommerce' ) — פנייה לקובץ התרגום הרשמי של ווקומרס. באתר בעברית, התרגום מחליף אוטומטית את Free ב"חינם". אלגנטי, בלי לגעת בכלום.
רוצים טקסט אחר? הנה הגרסה המותאמת
אולי "חינם" לא מספיק לכם. אולי אתם רוצים "מתנה!" או "חינם לזמן מוגבל". פשוט מחליפים את שורת ההחלפה בטקסט קבוע משלכם:
add_filter( 'woocommerce_get_price_html', 'ym_custom_zero_price_display', 10, 2 );
function ym_custom_zero_price_display( $price, $product ) {
if ( empty( $product->get_price() ) || $product->get_price() == 0 ) {
$price = 'מתנה!';
}
return $price;
}
שימו לב לבונוס: עטפנו את הטקסט ב-span עם קלאס. עכשיו אפשר לעצב את התווית ב-CSS — צבע, גודל, רקע — בלי לגעת שוב בקוד.
ומה אם רוצים את זה רק על מוצר מסוים?
הקוד למעלה חל על כל מוצר במחיר אפס. לפעמים זה לא רצוי. הפתרון: מוסיפים לתנאי בדיקה של מזהה המוצר (ID):
add_filter( 'woocommerce_get_price_html', 'ym_free_label_specific_product', 10, 2 );
function ym_free_label_specific_product( $price, $product ) {
$free_products = array( 123, 456 ); // כאן שמים את המזהים של המוצרים
if ( in_array( $product->get_id(), $free_products ) && $product->get_price() == 0 ) {
$price = __( 'Free', 'woocommerce' );
}
return $price;
}
את מזהה המוצר מוצאים ברשימת המוצרים בלוח הניהול. רחפו על שם המוצר — ה-ID מופיע מתחתיו.
למה בכלל למכור מוצר בחינם?
מוצר חינמי הוא כלי שיווקי מעולה בחנות. כמה שימושים שעובדים:
- ליד מגנט — מדריך דיגיטלי או קובץ להורדה תמורת הרשמה. אתם מקבלים לקוח רשום עם פרטים מלאים
- מתנה בקנייה — מוצר קטן שמצטרף לעגלה ומעלה את שווי ההזמנה המורגש
- דוגמית (Sample) — טעימה מהמוצר שמובילה לרכישה מלאה
בכל המקרים האלה, הלקוח עדיין עובר תהליך הזמנה רגיל. לכן שווה לוודא שעמוד התשלום שלכם קצר ונוח. אגב, כתבנו מדריך גם על זה — איך מבטלים את שדה המיקוד בווקומרס.
הוספתם את הקוד? בדקו רגע
שני צעדים קטנים אחרי ההדבקה:
- נקו קאש — של האתר ושל הדפדפן. אחרת תמשיכו לראות את התצוגה הישנה
- בדקו בכל המקומות — עמוד המוצר, עמוד הקטגוריה והעגלה. הפילטר משפיע על כולם, וטוב לוודא שהכל נראה נכון
שאלות נפוצות
הוספתי את הקוד ועדיין רואה 0 ש"ח. למה?
כמעט תמיד זה קאש. נקו את זיכרון המטמון של האתר והדפדפן. אם זה לא עזר, ודאו שהסניפט מופעל ושאין תוסף אחר שדורס את תצוגת המחיר.
האם הקוד משפיע גם על מוצרים במבצע של 0 ש"ח?
כן. הבדיקה היא על המחיר בפועל. מוצר שמחיר המבצע שלו אפס יציג "חינם" גם הוא.
הלקוח עדיין צריך "לשלם" על מוצר חינמי?
הוא עובר תהליך הזמנה רגיל, אבל בלי חיוב. אם כל העגלה בסכום אפס, ווקומרס מדלג על מסך הסליקה ומאשר את ההזמנה ישירות.
אפשר לעשות את זה בלי קוד?
אין הגדרה מובנית לזה בווקומרס. יש תוספים שמציעים את זה כחלק מחבילה גדולה, אבל בשביל שינוי תצוגה בודד — עדיפות שורות הקוד האלה על עוד תוסף באתר.
לסיכום
תווית "חינם" במקום "0 ש"ח" היא בדיוק סוג הפרטים הקטנים שמבדילים חנות מקצועית מחנות חובבנית. רוצים חנות שבנויה נכון מהבסיס, עם כל הפרטים האלה מטופלים מהיום הראשון? הציצו בשירות בניית חנות אינטרנטית שלנו — ונשמח לעזור.
