תזמון מבצע בווקומרס - וורדפרס
זה לא במקרה שמבצע סיילים ומבצע צבאי בעברית זה אותה מילה. הקמת מבצע לזמן מוגבל דורשת מאיתנו היערכות טכנית, מערכתית ושיווקית, במיוחד אם מדובר באתר מכירות מקוון - על איך עושים את זה כתבתי בהרחבה כאן. אבל מי מכם שניסו לתזמן מבצע מראש בווקומרס (תוסף וורדפרס פופולרי לחנויות) ודאי גילו שיש באג בתזמון המבצע - המחיר לא מתעדכן כלל במועד הרלוונטי, או מופיע מחוק כשלצידו המחיר הקבוע של המוצר ולא מחיר המבצע.
כתוצאה מכך תמצאו את עצמכם מזינים את המבצע ידנית לפני תחילתו או בחצות נכנסים לראות שהמחיר מבצע התעדכן, מגלים שהוא לא ומתחילים באמצע הלילה לשנות מחירים ידנית. סיוט. מעבר לכך, מחיר המבצע לא רק לא מתעדכן בזמן, הוא גם לפעמים לא מסתיים בזמן! כך נוצר מצב שלקוחות קונים או מנסים לקנות מוצר במחיר מבצע שכבר נגמר. זה יוצר בלבול ובלאגן ברכישות, בפניות לשירות לקוחות ועוד כאב ראש עבורינו אבל גם חווית לקוח גרועה.
ברשת יש לא מעט תוספים לא רשמיים שעוזרים לנו לתזמן מבצעים באתר, אבל למעשה זו אופציה שקיימת בווקומרס ובעזרת כמה פעולות טכניות אפשר לגרום למבצע להתעדכן (ולהסתיים) בזמן.
אבל למה זה קורה?
אחרי שמצאתי את עצמי מעדכנת מחירים בחצות לעשרות מוצרים, הבנתי שיש כאן בעיה ויצאתי לבדוק אופציות לפתור אותה. העדפתי להימנע מלהתקין עוד תוסף שמתעסק עם החנות והמחירים מחשש לבאגים מתגלגלים אחרים.
כך גיליתי שהבעיה נובעת מתזמון עדכון הנתונים ב WP-Cron. זה כלי סטנדרטי שמטרתו לתזמן פקודות באתר לביצוע אוטומטי במרווחי זמן מוגדרים. פקודות או משימות מתוזמנות אלו ידועות בתור משימות CRON. ביצוע הפעולות קורה במרווחי זמן מוגדרים הנעים בין אחת לדקה לפעם בשנה.
השימוש בו הוא לרוב להפעלת גיבויים מתוזמנים, מחיקת קבצים לא נחוצים, משימות תחזוקה של המערכת ועוד - כלומר כל הדברים שקורים באתר מאחורי הקלעים ואנחנו פחות מרגישים אותם.
בסופו של דבר כן השתמשתי בתוסף על מנת לפתור את הבעיה, אבל בחרתי בתוסף גנרי שלא מתערב ישירות בווקומרס ויש לו ביקורות טובות ברשת. כמו כן, התוסף הזה מאפשר לבצע את השינוי הנדרש, לפתור את הבעיה ואז להסיר אותו אם רוצים.
אז מה עושים?
בשלב הראשון אני ממליצה לכם לבדוק שכל התוספים שלכם, בדגש על ווקומרס מעודכנים לגרסא העדכנית ביותר. גם כי שמירה על עדכניות תוספים חשובה לבטיחות שלכם וגם כי אני מאמינה שבעתיד תמצא הדרך לפתור את הבעיה בווקומרס בלי הצורך בתהליך שלפניכם.
בשלב השני - נכנסים למוצר ומזינים את מחיר המבצע הרלוונטי ומועדי תחילתו וסיומו.
בשלב הבא נתקין תוסף שנקרא WP Control - נפעיל אותו לאחר התקנתו:
נלך לכלים > Cron Events
ונמצא ברשימה את האירוע: woocommerce_scheduled_sales ונעשה לו Edit:
ראשית נוכל לראות מתי ההרצה הבאה שלו אמורה להתרחש וכל כמה זמן זה קורה.
אפשר לראות שהתהליך מוגדר לרוץ פעם אחת ביום בלבד. צילום המסך הזה בוצע ב12.05.22 וההרצה הבאה מוגדרת ביום למחרת בשעה אחת עשרה בלילה (זה עשוי להיות שעה אחרת בהתאם להגדרות השעון אצלכם, אבל תמיד רק פעם ביום).
מה הבעיה פה? woocommerce_scheduled_sales בעצם בודק אם יש מבצעים מתוזמנים שהגיע זמנם להתחיל או אם יש מבצע שהיה אמור להסתיים ומבצע את השינוי הנדרש. כך שאם תזמנתי היום מחיר מבצע למחר (כלומר אמור להתעדכן בחצות היום) אז בשעה 11 בלילה כשcron ירוץ עוד לא יגיע הזמן להתחיל את המבצע - זה לא יקרה בחצות ולא יקרה גם במהלך הבוקר, אלא ממש יתעדכן רק באחת עשרה בלילה מחר בפעם הבאה שהcron ירוץ. אנחנו מבינים שזה גם מתעדכן פעם ביום באחת עשרה, כלומר מבצעים שאמורים להתעדכן בחצות פשוט לא קורים באותו יום אלא רק יום למחרת. ואותו דבר לגבי כיבוי מבצעים שאמורים להסתיים.
אז לפני שינוי ההגדרות - בבקשה שימו לב שאיזור הזמן שלכם מוגדר נכון באתר, כלומר אתם על זמן ישראל.
איפה בודקים את זה?
הולכים להגדרות ואז במסך שיפתח לנו נראה את כל הפרטים: אזור זמן, מבנה התאריך, מבנה הזמן והיום הראשון בשבוע. אם ביצענו שם שינויים נשמור אותם ונחזור לכלים > Cron Events
בארועי CRON נגדיר שהפעולה תתעדכן פעם בחמש דקות או פעם בשעה, אני העדפתי פעם בחמש דקות:
נגדיר שהריצה הבאה של הנתונים תתקיים עכשיו ומעכשיו כל חמש דקות ונעדכן נתונים:
זהו, עכשיו אנחנו מסודרים, מומלץ כמובן להיכנס לבדוק בשעה 00:05 שהנתונים עודכנו, אבל אם אין לכם כוח להישאר ערים אז אפשר לעשות את זה גם בבוקר.
שימו לב:
ההגדרות האלה עשויות להשתנות לאחר עדכוני ווקומרס, עדכוני מערכת, תבנית וכו.
לכן אני ממליצה לבדוק שההגדרה הזו לא השתנה או לאחר ביצוע עדכונים באתר או כמה ימים לפני שמבצע מתוזמן אמור להתחיל.
מאחלת לכם מבצעים אפקטיביים, בלי תקלות והרבה מכירות!
רוצים להישאר מעודכנים ולקבל מידע על מאמרים וטיפים מהבלוג? מוזמנים להירשם כאן.
Comments