אם התחלת לבנות אתר עם WooCommerce ואתה משתמש בתוסף ההנחות המפורסם
Advanced Woo Discount Rules, אתה כנראה שואל את עצמך:
“איך אני יוצר עמוד שמציג את כל המבצעים –
בדיוק באותו עיצוב כמו שאר עמודי החנות שלי?”
🤔 הבעיה מתחילה כאן:
התוסף אמנם נותן לך Shortcode שדרכו אפשר להציג מוצרים במבצע,
אבל ברוב המקרים זה לא נראה כמו שאר האתר שלך:
- לא תואם ללופ של אלמנטור (Elementor Loop)
- לא נראה טוב ב־JetEngine Listing Grid
- אין שליטה מלאה בעיצוב כמו שאתה רגיל
- המבנה שונה מכל עמוד קטגוריה רגיל
- לפעמים אפילו השורות והכפתורים נשברים
🙈 אם ניסית להכניס את ה־Shortcode בעמוד של אלמנטור, כנראה ראית שהוא שובר את הפריסה
וזה פשוט לא מרגיש כמו עמוד מוצרים רגיל.
🛠️ הפתרון הפשוט והחכם – למי שבונה אתרים בצורה מקצועית
במקום להסתבך עם קוד CSS או תבניות מוזרות,
אנחנו ניצור תגית מוצרים חכמה (למשל megasales) שתתעדכן לבד.
מה זה אומר?
- כל מוצר שיש עליו הנחה מהתוסף – יקבל את התגית
- כל מוצר שלא נמצא יותר במבצע – התגית תוסר ממנו
- אתה תוכל להציג את עמוד התגית כמו כל עמוד קטגוריה (או גריד מותאם)
- בלי קוד עיצוב נוסף
- כן עובד באלמנטור / JetEngine / Woo Templates
💡 ולמה זה מעולה?
- זה נראה בדיוק כמו כל עמוד מוצרים אחר באתר שלך
- אתה בונה את הגריד פעם אחת – וזהו
- אין צורך להטעין מוצרים דרך שורטקוד
- אין איטיות / כובד בעמוד
- לא צריך לגעת בקוד עיצוב בכלל
עובד עם תוספים כמו Elementor Pro, Crocoblock JetEngine, Bricks ועוד
🔁 איך זה עובד?
יצרנו קוד PHP שמבצע את הדברים הבאים:
- יוצר תגית
megasalesאם היא לא קיימת - עובר על כל המוצרים באתר
- בודק אם יש עליהם מבצע פעיל מהתוסף
- מוסיף או מסיר את התגית בהתאם
- מפעיל את זה אוטומטית כל שבועיים
- ומוסיף גם כפתור בלוח הבקרה לעדכון מיידי בלחיצה!
✅ הנה הקוד המלא שאתה צריך להוסיף לאתר שלך
// הוספת כפתור נוח בלוח הבקרה
add_action('admin_bar_menu', function($wp_admin_bar) {
$args = [
'id' => 'update_sale_labels',
'title' => 'עדכון מבצעי MegaSale 🔥',
'href' => 'https://smartcase.co.il/?update_sale_labels',
'meta' => [
'title' => 'לחץ לעדכון התגיות למוצרים במבצע',
'target' => '_blank',
'class' => 'update-sale-labels-button',
]
];
$wp_admin_bar->add_node($args);
}, 999);
// פעולה שמעדכנת את תגיות המבצע
function elitzur_update_discounted_products_tags() {
$sale_tag_slug = 'megasales';
$sale_tag_name = 'מבצעי ענק';
$sale_tag = get_term_by('slug', $sale_tag_slug, 'product_tag');
if (!$sale_tag) {
$sale_tag = wp_insert_term($sale_tag_name, 'product_tag', ['slug' => $sale_tag_slug]);
}
$sale_tag_id = is_object($sale_tag) ? $sale_tag->term_id : $sale_tag['term_id'];
$args = [
'post_type' => 'product',
'posts_per_page' => -1,
'post_status' => 'publish',
'fields' => 'ids',
];
$products = get_posts($args);
foreach ($products as $product_id) {
$product = wc_get_product($product_id);
if ($product && ($product->is_type('simple') || $product->is_type('variable'))) {
$discount_details = apply_filters('advanced_woo_discount_rules_get_product_discount_details', false, $product);
if (!empty($discount_details)) {
wp_set_object_terms($product_id, $sale_tag_id, 'product_tag', true);
} else {
$current_tags = wp_get_post_terms($product_id, 'product_tag', ['fields' => 'ids']);
if (in_array($sale_tag_id, $current_tags)) {
$new_tags = array_diff($current_tags, [$sale_tag_id]);
wp_set_object_terms($product_id, $new_tags, 'product_tag', false);
}
}
}
}
}
// להריץ את הפעולה באופן ידני דרך קישור
add_action('init', function() {
if (isset($_GET['update_sale_labels']) && current_user_can('manage_options')) {
elitzur_update_discounted_products_tags();
echo 'המוצרים עודכנו בהצלחה 🎯';
exit;
}
});
// יצירת תזמון אוטומטי פעם בשבועיים
add_action('init', function() {
if (!wp_next_scheduled('elitzur_update_discounted_products_cron')) {
wp_schedule_event(time(), 'elitzur_biweekly', 'elitzur_update_discounted_products_cron');
}
});
add_filter('cron_schedules', function($schedules) {
$schedules['elitzur_biweekly'] = [
'interval' => 60 * 60 * 24 * 14,
'display' => __('Once every 2 weeks')
];
return $schedules;
});
add_action('elitzur_update_discounted_products_cron', 'elitzur_update_discounted_products_tags');
🧩 איך מוסיפים קוד PHP לאתר?אם אתה רואה קוד PHP ורוצה לדעת איפה בדיוק לשים אותו – הנה 3 דרכים עיקריות, לפי רמת ניסיון:
✅ הדרך המומלצת: שימוש ב־Code Snippets
אם אתה לא מתכנת – זו הדרך הכי בטוחה ונקייה!
היכנס ללוח הבקרה של WordPress
עבור לתוספים ← ״תוסף חדש״
חפש והתקן את: Code Snippets
אחרי ההתקנה, יופיע תפריט חדש בשם Snippets (או "קטעי קוד")
לחץ על Add New
תן שם לקוד, למשל:
תגית מבצע חכמההדבק את כל הקוד ממה ששלחתי לך
בחר באופציה: ✅ Run snippet everywhere
לחץ על Save and Activate
💡 הקוד ירוץ אוטומטית כמו תוסף משלך – בלי לערוך קבצי מערכת!
🛠️ דרך מתקדמת: בתוך קובץ functions.php של ערכת העיצוב
מתאים למי שיודע לשמור גיבוי.
לך לתפריט: עיצוב → עורך קבצים (Theme File Editor)
בחר משמאל את הקובץ
functions.phpגלול לתחתית הקובץ
הדבק שם את הקוד (רצוי אחרי שורה ריקה)
שמור שינויים
זהירות: אם יש שגיאה – האתר עלול להישבר. תמיד לגבות קודם או לעבוד בתבנית בת (Child Theme).






